2020. február 25., kedd

PHP gyakorlófeladatok

Szorzótábla

<?php
session_start();

include('./start.php');

$_GET['meddig']=3;
$_SESSION['meddig']=$_GET['meddig'];

if (!isset($_SESSION['ok']))
{
$_SESSION['ok'] = 0;
}
  
if (isset($_POST['ujra']))
    {
        unset($_SESSION);
        session_destroy();
        header("Refresh: 1; url=./szamol.php");
    }

if (isset($_POST['gomb']))
    {
    if (($_SESSION['V1']*$_SESSION['V2'])==$_POST['ertek'])
        {
         $_SESSION['ok']=$_SESSION['ok']+1;  
        }  
    }

Táblázatként szorzótábla

<?php
print("<table border='1'>");
for ($i=1;$i<3;$i++)
{
print ("<tr>");
for ($x=1; $x<3; $x++)
{
print ("<td>");
print ('adat');
print ("</td>");
}
print ("</tr>");
}
print ("</table>");
?>


Két for ciklussal

<?php
print("<table border='1'>");
for ($i=1;$i<3;$i++)
    {
    print ("<tr>");
    for ($x=1; $x<3; $x++)
        {
        print ("<td>");
        print ('adat');
        print ("</td>");
        }
    print ("</tr>");
    }
print ("</table>");
?>

Kör kerülete területe
<?php
$pi= M_PI;
echo "Pi értéke = $pi <br />";


$r = 10;                 // Kör sugara.
$kerulet= (2*$r)*M_PI;
echo "A kör kerülete = $kerulet <br />";

$terulet= ($r*$r)*M_PI;
echo "A kör területe = $terulet <br />";
?<


3*3-as táblázat  benne adat.

<?php
print("<table border='1'>\n");
for ($i=1;$i<4;$i++)
    {
    print ("<tr>");
    for ($x=1; $x<4; $x++)
        {
        print ("\t<td>");
        print ('adat');
        print ("</td>\n");
        }
    print ("</tr>\n");
    }
print ("</table>");
?>

Szorzótábla

<?php

print("<table border=\"1\">\n");

for ($i=1;$i<11;$i++)
    {
    print ("<tr>\n");

    for ($x=1;$x<11;$x++)
        {
        print ("\t<td>");
        print ($i*$x);
        print ("</td>\n");
        }

    print ("</tr>\n");
    }

print ("</table>");

?>


Ciklusok PHP-ban

FOR: előírt lépésszámú ciklus

WHILE: elöl tesztelő ciklus

DO-WHILE: hátul tesztelő ciklus

CONTINUE: A continue utasítást olyankor használjuk, amikor a ciklusban levő, a contiue utasítás után következő kódrészletet át akarjuk ugrani

BREAK: A break csak cikluson belül használható, és a for, foreach, while, do .. while  ciklusok futását szakítja meg.


Példa

<?php
for ($szam=1;$szam<=10;$szam+=2)
{
print "A szam változó értéke: $szam, négyzete: ";
print $szam*$szam;
print "<br>";
}
?> FOR
<?php
for ($i=1;$i<5;$i++)
{
for ($j=1;$j<4;$j++)
{
print "Az i változó értéke: $i";
print ", a j változó értéke: $j<br>";
}
}
?> FOR DEMO
<?php
$szam=1;
while ($szam<=10)
{
print "A szam változó értéke: $szam<br>";
$szam++;
}
?> WHILE
<?php
$szam=10;
while ($szam>0)
{
print "A szam változó értéke: $szam, négyzete: ";
print $szam*$szam;
print "<br>";
$szam-=2;
}
?> WHILE
<?php
$szam=1;//mindaddig megjelennek a számok amíg meg nem haladják a 10-et
do
{
print "A szam változó értéke: $szam, négyzete: ";
print $szam*$szam;
print "<br>";
$szam+=2;
} while ($szam<=10);
?> DO-WHILE
<?php
for ($i=1;$i<6;$i++)
{
for ($j=1;$j<5;$j++)
{
if ($j==2) continue;//ha ezt sort elhagyjuk j == 2 is megjelenik
print "Az i változó értéke: $i";
print ", a j változó értéke: $j<br>";
}
}
?> CONTINUE
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>A contiune utasítás használata</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>

<body>
<?php
for ($i=10;$i>-11;$i--)
{
if ($i==0) continue;
print(" <br>100 / $i = ". 100/$i);
}
?>
</body>
</html>

CONTINUE
<?php
for ($szam=1;$szam<=10;$szam+=2)
{
if ($szam*$szam<20) break;
print "A szam változó értéke: $szam, négyzete: ";
print $szam*$szam;
print "<br>";
}
?> FOR-BREAK DEMO
<?php
for ($i = 0; $i < 10; $i++) {                     //3. szint     
        for ($j = 0; $j < 10; $j++) {             //2. szint
                for ($z = 0; $z < 100; $z++) {    //1. szint
                        if ($z > 10) {
                                break 2;        //2. szintre tör ki
                        }
                        echo "i: $i, j: $j, z: $z\n";
                }
        }
}
?> BREAK 2
Az utasítás számot is fogadhat el argumentumként: ha meg van adva, akkor ez a szám határozza meg, hogy az egymásba ágyazott ciklusokból milyen szintig kell kitörni.
 




Minta feladatok
Kód
Minta
<html>
<head>
<title>Szorzótábla kiíratása</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
</head>

<body>
<?php
print("<table border=\"1\">\n");
for ($i=1;$i<11;$i++)
{
print ("<tr>\n");
for ($j=1;$j<15;$j++)
{
print ("\t<td>");
print ($i*$j);
print ("</td>\n");
}
print ("</tr>\n");
}
print ("</table>");
?>
</body>
</html>


Szorzótábla

Írj egy programot ciklusutasítást használva, amely az alábbi elrendezésű szöveget írja ki a képernyőre:
2222
222
22
2



<?php
for($a=4;$a>=1;$a--)
{
for($b=1;$b<=$a;$b++)
{
print("2");
}
print("<br>");
}

?>

Írjon egy programot, amelyben egy x elemű tömböt tetszőleges értékekkel tölt fel, majd kiírja, hogy a tömbben hány darab olyan szám van, amely nagyobb, mint a és kisebb b.
<?php
for($i=1;$i<=x;$i++) //tömb feltöltése
{
$t[$i]=rand(5,25);
}

for($i=1;$i<=x;$i++) //teszt
{
print($t[$i]."<br>");
}

$szamlalo=0;

for($i=1;$i<=x;$i++)
{
if (($t[$i]>a) and ($t[$i]<b))
{
$szamlalo++;
}
}
print("A a-b közti számok: ".$szamlalo);
?>


Dátum php-ban
<?php
$maidatum = date ("m" ,time()) . "-hó " . date("d" ,time()) . ". napja " .
$maidatum = "";

echo "<h6>";
echo $maidatum;
echo " van ma!</h6>";

?>


Idő php-ban

<?php
echo date("Y.m.d. H:i",time());
?>


PHP kiterjesztés

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>PHP kiterjesztésű weblap </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<link href="stílus.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="azonosító">
<h1> PHP kiterjesztésű weblap </h1>
<?php
Ide jön, a PHP program leírása!
?>
</div>
</body>
</html>


Kör kerülete
 <?php
print_r($_GET);
print_r($_POST);
?>
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Kerület</title>
    </head>
    <body>
<?php
//beolvasás
$sugar = $_GET['sugar'];
//feldolgozás
$pi = pi();
$ker = 2 * $sugar * $pi;
//kiirás
?>
        <p>Sugár = <?php echo $sugar; ?></p>
        <p>Kerület = <?php echo $ker; ?></p>
    </body>
</html>

---------------


 <?php
//nyomkövetés
print_r($_GET);
print_r($_POST);
 
$hiba = '';
if ($_POST) {
 
    //beolvasás
    $sugar = null;
    if (isset($_GET['sugar'])) {
        $sugar = $_GET['sugar'];
    }
 
    //előfeltétel ellenőrzése
    $hiba = '';
    if (is_null($sugar)) {
        $hiba = 'Sugár hiányzik!';
    }
    else if ($sugar == '') {
        $hiba = 'Sugár üres!';
    }
    else if (!is_numeric($sugar)) {
        $hiba = 'Sugár nem szám!';
    }
    if (!$hiba) {
 
        //feldolgozás
        $pi = pi();
        $ker = 2 * $sugar * $pi;
    }
}
 
//kiírás
?>
<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Kerület</title>
    </head>
    <body>
        <?php if ($hiba) : ?>
            <p><?php echo $hiba; ?></p>
        <?php endif; ?>
 
        <form action="kerulet.php" method="post">
            Sugár: <input type="text" name="sugar">
            <input type="submit">
        </form>
 
        <?php if (isset($ker)) : ?>
            <p>Sugár = <?php echo $sugar; ?></p>
            <p>Kerület = <?php echo $ker; ?></p>
        <?php endif; ?>
  </body>
</html>

------------














Terület kiszámítása

<?php
function terulet($aoldal, $boldal)
    {
        print("Terület $aoldal * $boldal= ". $aoldal * $boldal. "<br>");
    }
// Következik a paraméter átadás.
terulet(4, 8);
terulet(6, 7);
?>

Nincsenek megjegyzések:

Megjegyzés küldése