programozás és adatbá s phpben -...

56
Programozás és adatbázis-kezelés PHP-ben Készítette: Pető László

Upload: others

Post on 21-Oct-2019

16 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

Programozás és adatbázis­kezelés PHP­ben

Készítette: Pető László

Page 2: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

I. A programozási környezetA PHP platformfüggetlen programozási nyelv. A szkriptek futtatása szerveroldalon történik. 

Ezt a szerepet leggyakrabban Apache webszerver végzi. Az adatbázis­kezeléshez pedig vagy MySQL, vagy PostgreSQL szervert használhatunk.

Mi a PHP­t, Apache segítségével tanulmányozzuk, és MySQL­t is fogunk használni. Ezen környezetek Windows operációs rendszerekhez is beszerezhetők, mi viszont Linux környezetben ismerkedünk meg azok működésével. Javasolt, olyan disztribúció használata, amelynek ezek az összetevők a részei. A magam részéről a feladatokat Mandriva 2007.0 környezetben oldottam meg.

II. Szöveg kiírása Példaprogram:

<HTML>

  <HEAD>

    <TITLE>Szöveg kiírása</TITLE>

  </HEAD>

  <BODY>

    <?php

      print "Üdvözlet"; //A PHP utasítások mindig pontosvesszőre végződnek.

    ?>

  </BODY>

</HTML>

Eredmény:

III. Szöveg beolvasása, változó értékének átadása

A html kód:

<HTML>

  <HEAD>

    <TITLE>Szöveg kiírása 2</TITLE>

  </HEAD>

Page 3: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

  <BODY>

    <FORM METHOD=POST ACTION="2_kiiras.php"> //Itt hívjuk meg a php kódot.

      <INPUT TYPE="text" NAME="kuldott_nev">//Ezzel a névvel hivatkozunk a beírt szövegre.

      <INPUT TYPE="submit" VALUE="Mehet!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A php kód:

<HTML>

  <HEAD>

    <TITLE>Szöveg kiírása 2</TITLE>

  </HEAD>

  <BODY>

    <?php

      $nev=$_POST[kuldott_nev];

//A PHP változók nevei mindig $ jellel kezdődnek.

//= Az értékadó egyenlőség.

//Itt vesszük át a szövegbeviteli mezőbe beírt szöveget.

      print "Üdvözlet ".$nev; //. A stringek összefűzésének művelete.

    ?>

  </BODY>

</HTML>

Eredmény:

Page 4: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

IV. Számológép, matematikai műveletek, elágazásokA html kód:

<HTML>

  <HEAD>

    <TITLE>Számológép</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="3_szamologep.php">

      <INPUT TYPE="text" NAME="kuld_a"><BR>

      <INPUT TYPE="text" NAME="kuld_b"><BR>

      <INPUT TYPE="radio" NAME="kuld_muvelet" VALUE="+" default>+<BR>

      <INPUT TYPE="radio" NAME="kuld_muvelet" VALUE="­">­<BR>

      <INPUT TYPE="radio" NAME="kuld_muvelet" VALUE="*">*<BR>

      <INPUT TYPE="radio" NAME="kuld_muvelet" VALUE="/">/<BR>

// A műveletet rádiógombok segítségével választhatjuk ki. A + az alapétrelmezett. Az első számot a kuld_a, a második számot a kuld_b, a műveleti jelet a kuld_muvelet tartalmazza.

      <INPUT TYPE="submit" VALUE="Számít!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Szöveg kiírása 2</TITLE>

  </HEAD>

  <BODY>

    <?php

Page 5: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      $a=$_POST[kuld_a];

      $b=$_POST[kuld_b];

      $muvelet=$_POST[kuld_muvelet];

      if ($muvelet=="+"){$c=$a+$b;}

// if (feltétel) {utasítások} else {utasítások};

//+ összeadás; ­ kivonás; * szorzás; / osztás

//Összehasonlító műveletek: == egyenlő; != nem egyenlő; > nagyobb; < kisebb; >= nagyobb, vagy

//egyenlő; <= kisebb, vagy egyenlő.

      if ($muvelet=="­"){$c=$a­$b;}

      if ($muvelet=="*"){$c=$a*$b;}

      if ($muvelet=="/"){$c=$a/$b;}

      print $c;

    ?>

  </BODY>

</HTML>

Eredmény:

V. A másodfokú egyenlet megoldóképleteA html kód:

<HTML>

  <HEAD>

    <TITLE>Másodfokú egyenlet</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="4_masodfoku.php">

      <INPUT TYPE="text" NAME="kuld_a"><BR>

      <INPUT TYPE="text" NAME="kuld_b"><BR>

      <INPUT TYPE="text" NAME="kuld_c"><BR>

      <INPUT TYPE="submit" VALUE="Számít!">

    </FORM>

  </BODY>

Page 6: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Másodfokú egyenlet</TITLE>

  </HEAD>

  <BODY>

    <?php

      $a=$_POST[kuld_a];

      $b=$_POST[kuld_b];

      $c=$_POST[kuld_c];

      $d=$b*$b­4*$a*$c;

      if ($a==0){print "Az egyenlet nem másodfokú.";}

        else

      {

         if ($d<0) {print "Az egyenletnek nincs valós gyöke.";}

           else

         {

           $x1=(­$b+sqrt($d))/(2*$a); //sqrt ­ négyzetgyök

           $x2=(­$b­sqrt($d))/(2*$a);

           print "<H1>X<SUB>1</SUB>= ".$x1."</H1><BR>"; 

//A string html kódot is tartalmazhat, tehát a print utasítással formázhatjuk is a kimenetet.

           print "<H1>X<SUB>2</SUB>= ".$x2."</H1>";

        }

     }

    ?>

  </BODY>

</HTML>

Eredmény:

Page 7: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

VI. A számtani sorozat, ciklusokA html kód:

<HTML>

  <HEAD>

    <TITLE>Számtani sorozat</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="5_szamtanisorozat.php">

      Első elem:<BR>

      <INPUT TYPE="text" NAME="kuld_a1"><BR>

      Különbség:<BR>

      <INPUT TYPE="text" NAME="kuld_d"><BR>

      Elemek száma:<BR>

      <INPUT TYPE="text" NAME="kuld_n"><BR>

      <INPUT TYPE="submit" VALUE="Számít!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Számtani sorozat</TITLE>

  </HEAD>

Page 8: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

  <BODY>

    <?php

      $a1=$_POST[kuld_a1];

      $d=$_POST[kuld_d];

      $n=$_POST[kuld_n];

      for($i=1;$i<=$n;$i=$i+1)

        {

          $x=$a1+($i­1)*$d;

          print $x."<BR>";

        }

    ?>

  </BODY>

</HTML>

Eredmény:

VII. Mértani sorozatA html kód:

<HTML>

  <HEAD>

    <TITLE>Mértani sorozat</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="6_mertanisorozat.php">

      Első elem:<BR>

      <INPUT TYPE="text" NAME="kuld_a1"><BR>

      Hányados:<BR>

      <INPUT TYPE="text" NAME="kuld_q"><BR>

      Elemek száma:<BR>

      <INPUT TYPE="text" NAME="kuld_n"><BR>

Page 9: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      <INPUT TYPE="submit" VALUE="Számít!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Mértani sorozat</TITLE>

  </HEAD>

  <BODY>

    <?php

      $a1=$_POST[kuld_a1];

      $q=$_POST[kuld_q];

      $n=$_POST[kuld_n];

      for($i=1;$i<=$n;$i=$i+1)

        {

          print $a1."<BR>";

          $a1=$a1*$q;

        }

    ?>

  </BODY>

</HTML>

Eredmény:

Page 10: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

VIII. SzorzótáblaA html kód:

<HTML>

  <HEAD>

    <TITLE>Szorzótábla</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="7_szorzotabla.php">

      Melyik szorzótáblát listázzam?<BR>

      <INPUT TYPE="text" NAME="kuld_szorzo"><BR>

      Meddig?<BR>

      <INPUT TYPE="text" NAME="kuld_meddig"><BR>

      <INPUT TYPE="submit" VALUE="Számít!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Szorzótábla</TITLE>

  </HEAD>

  <BODY>

    <?php

      $szorzo=$_POST[kuld_szorzo];

      $meddig=$_POST[kuld_meddig];

      print "<TABLE  BORDER=3 BORDERCOLOR='#00ff00' CELLPADDING=4 CELLSPACING=3 BGCOLOR='#ff00ff'>";

      for($i=1;$i<=$meddig;$i=$i+1)

        {

Page 11: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

            print "<TR>";

            for($j=1;$j<=$szorzo;$j=$j+1)

               {

                  print "<TD WIDTH=30 ALIGN=CENTER>".$i*$j."</TD>";

               }

             print "</TR>";

          }

       print "</TABLE>";

    ?>

  </BODY>

</HTML>

Eredmény:

IX. Értéktáblázat; Függvények alkalmazásaA html kód:

<HTML>

  <HEAD>

    <TITLE>Másodfokú függvény</TITLE>

  </HEAD>

  <BODY>

    Másodfokú függvény helyettesítési értékei:<BR>

    <FORM METHOD=POST ACTION="8_ertektablazat.php">

      Alsó határ:<BR>

      <INPUT TYPE="text" NAME="kuld_ah"><BR>

      Felső határ:<BR>

      <INPUT TYPE="text" NAME="kuld_fh"><BR>

      Lépésköz:<BR>

      <INPUT TYPE="text" NAME="kuld_lk"><BR>

      a:<BR>

      <INPUT TYPE="text" NAME="kuld_a"><BR>

Page 12: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      b:<BR>

      <INPUT TYPE="text" NAME="kuld_b"><BR>

      c:<BR>

      <INPUT TYPE="text" NAME="kuld_c"><BR>

      <INPUT TYPE="submit" VALUE="Számít!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Másodfokú függvény</TITLE>

  </HEAD>

  <BODY>

    <?php

      $ah=$_POST[kuld_ah];

      $fh=$_POST[kuld_fh];

      $lk=$_POST[kuld_lk];

      $a=$_POST[kuld_a];

      $b=$_POST[kuld_b];

      $c=$_POST[kuld_c];

      function masodfoku($A,$B,$C,$X) //paraméterlista

        {

          $eredmeny=$A*$X*$X+$B*$X+$C;

          return $eredmeny; //visszatérési érték (eredmény)

Page 13: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

        }

      print "<TABLE BORDER=1>";

      print "<TR>";

      for($i=$ah;$i<=$fh;$i=$i+$lk)

        {

          print "<TD ALIGN=CENTER WIDTH=50>".$i."</TD>";

        }

      print "</TR>";

      print "<TR>";

      for($i=$ah;$i<=$fh;$i=$i+$lk)

        {

          print "<TD ALIGN=CENTER WIDTH=50>".masodfoku($a,$b,$c,$i)."</TD>";

//függvényhívás

        }

      print "</TR>";

      print "</TABLE>";

    ?>

  </BODY>

</HTML>

Eredmény:

X. Diagram készítéseA html kód:

<HTML>

  <HEAD>

    <TITLE>Másodfokú függvény</TITLE>

  </HEAD>

  <BODY>

    Másodfokú függvény helyettesítési értékei:<BR>

    <FORM METHOD=POST ACTION="9_diagram.php">

      Alsó határ:<BR>

Page 14: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      <INPUT TYPE="text" NAME="kuld_ah"><BR>

      Felső határ:<BR>

      <INPUT TYPE="text" NAME="kuld_fh"><BR>

      Lépésköz:<BR>

      <INPUT TYPE="text" NAME="kuld_lk"><BR>

      a:<BR>

      <INPUT TYPE="text" NAME="kuld_a"><BR>

      b:<BR>

      <INPUT TYPE="text" NAME="kuld_b"><BR>

      c:<BR>

      <INPUT TYPE="text" NAME="kuld_c"><BR>

      <INPUT TYPE="submit" VALUE="Számít!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Szöveg kiírása 2</TITLE>

  </HEAD>

  <BODY>

    <?php

    $ah=$_POST[kuld_ah];

    $fh=$_POST[kuld_fh];

    $lk=$_POST[kuld_lk];

Page 15: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

    $a=$_POST[kuld_a];

    $b=$_POST[kuld_b];

    $c=$_POST[kuld_c];

       function masodfoku($A,$B,$C,$X)

        {

          $eredmeny=$A*$X*$X+$B*$X+$C;

          return $eredmeny;

        }

      for($i=$ah;$i<=$fh;$i=$i+$lk)

        {

          $magassag=masodfoku($a,$b,$c,$i);

          print "<HR ALIGN=LEFT WIDTH=".$magassag*10." > ";

        }

    ?>

  </BODY>

</HTML>

Eredmény:

XI. Az ismeros(nev, irsz, lakcim) adattábla létrehozásaA html kód:

<HTML>

  <HEAD>

    <TITLE>Adattábla létrehozása</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="10_tablaletrehoz.php">

Page 16: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      <INPUT TYPE="submit" VALUE="Létrehoz!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Adattábla létrehozása</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");//szerver neve, címe; felhasználó neve; jelszó

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);//adatbázis neve

//Táblakészítő lekérdezés

      $sql="CREATE TABLE ismeros(nev varchar(30), irsz int, lakcim varchar(40))";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "A létrehozás sikeres";}

    ?>

  </BODY>

</HTML>

Eredmény:

Ha újra lefuttatjuk:

Page 17: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

XII. Adatbeviteli űrlap az ismeros(nev, irsz, lakcim) tábláhozA html kód:

<HTML>

  <HEAD>

    <TITLE>Adatbeviteli űrlap</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="11_bevitel.php">

      Név:<BR>

      <INPUT TYPE="text" NAME="kuld_nev"><BR>

      Irányítószám:<BR>

      <INPUT TYPE="text" NAME="kuld_irsz"><BR>

      Lakcím:<BR>

      <INPUT TYPE="text" NAME="kuld_lakcim"><BR>

      <INPUT TYPE="submit" VALUE="Adatbevitel">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Szöveg kiírása 2</TITLE>

  </HEAD>

  <BODY>

    <?php

Page 18: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Sor beszúró lekérdezés

      $sql="INSERT INTO ismeros values ('".$_POST[kuld_nev]."','".$_POST[kuld_irsz]."','".$_POST[kuld_lakcim]."')";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "Az adatbevitel sikeres";}

    ?>

  </BODY>

</HTML>

Eredmény:

Töltsük fel a táblát legalább 5­6 rekorddal!

XIII. Lekérdezés az ismeros(nev, irsz, lakcim) táblábólA html kód:

<HTML>

  <HEAD>

    <TITLE>Lekérdezés</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="12_lekerdezes.php">

      <INPUT TYPE="submit" VALUE="Végrehajt!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

Page 19: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Lekérdezés</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Lekérdezés

      $sql="SELECT * FROM ismeros";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      print "<TABLE BORDER=1>";

      print "<TR><TD>NÉV</TD><TD>IRÁNYÍTÓSZÁM</TD><TD>LAKCÍM</TD></TR>";

      while ($kerdesTomb=mysql_fetch_array($eredmeny))

      {

        $nev=$kerdesTomb['nev'];

        print "<TR><TD>".$nev."</TD>";

        $irsz=$kerdesTomb['irsz'];

        print "<TD>".$irsz."</TD>";

        $lakcim=$kerdesTomb['lakcim'];

        print "<TD>".$lakcim."</TD></TR>";

      }

      print "</TABLE>";

    ?>

  </BODY>

</HTML>

Page 20: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

Eredmény:

XIV. A posta(szam, varos) tábla létrehozásaA html kód:

<HTML>

  <HEAD>

    <TITLE>Posta tábla</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="13_tablaletrehoz.php">

      <INPUT TYPE="submit" VALUE="Létrehoz!">

    </FORM>

  </BODY>

</HTML>

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Szöveg kiírása 2</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Táblakészítő lekérdezés

      $sql="CREATE TABLE posta(szam int, varos varchar(40))";

//Végrehajtás

Page 21: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "A létrehozás sikeres";}

    ?>

  </BODY>

</HTML>

Töltsük fel a táblát a megfelelő irányítószámokhoz tartozó városokkal!

A html kód:

<HTML>

  <HEAD>

    <TITLE>Adatbevitel</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="13_bevitel.php">

      Irányítószám:<BR>

      <INPUT TYPE="text" NAME="kuld_szam"><BR>

      Város:<BR>

      <INPUT TYPE="text" NAME="kuld_varos"><BR>

      <INPUT TYPE="submit" VALUE="Létrehoz!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Adatbevitel</TITLE>

  </HEAD>

  <BODY>

    <?php

Page 22: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Sor beszúró lekérdezés

      $sql="INSERT INTO posta values ('".$_POST[kuld_szam]."','".$_POST[kuld_varos]."')";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "Az adatbevitel sikeres";}

    ?>

  </BODY>

</HTML>

XV. Az ismeros(nev, irsz, lakcim) és a posta(szam, varos) tábla összekapcsolásaA html kód:

<HTML>

  <HEAD>

    <TITLE>Összekapcsolás</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="13_lekerdezes.php">

      <INPUT TYPE="submit" VALUE="Végrehajt!">

    </FORM>

  </BODY>

</HTML>

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Összekapcsolás</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

Page 23: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Lekérdezés

      $sql="SELECT nev,varos FROM ismeros,posta WHERE irsz=szam";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      print "<TABLE BORDER=1>";

      print "<TR><TD>NÉV</TD><TD>VÁROS</TD></TR>";

      while ($kerdesTomb=mysql_fetch_array($eredmeny))

      {

        $nev=$kerdesTomb['nev'];

        print "<TR><TD>".$nev."</TD>";

        $varos=$kerdesTomb['varos'];

        print "<TD>".$varos."</TD></TR>";

      }

      print "</TABLE>";

    ?>

  </BODY>

</HTML>

Eredmény:

XVI. Fórum létrehozásaA html kód:

<HTML>

  <HEAD>

    <TITLE>Fórum létrehozása</TITLE>

  </HEAD>

  <BODY>

Page 24: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

    <FORM METHOD=POST ACTION="14_forumletrehoz.php">

      <INPUT TYPE="submit" VALUE="Létrehoz!">

    </FORM>

  </BODY>

</HTML>

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Fórum létrehozása</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Táblakészítő lekérdezés

      $sql="CREATE TABLE forum(fhnev varchar(20), uzenet text)";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "A létrehozás sikeres";}

    ?>

  </BODY>

</HTML>

XVII. Hozzászólás a fórumhozAz adatbevitel html kódja:

<HTML>

  <HEAD>

    <TITLE>Hozzászólás</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="14_forumbevitel.php">

      Név:<BR>

      <INPUT TYPE="text" NAME="kuld_nev"><BR>

Page 25: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      Üzenet:<BR>

      <TEXTAREA NAME="kuld_uzenet" ROWS="10" COLS="70"></TEXTAREA><BR>

      <INPUT TYPE="submit" VALUE="Létrehoz!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Hozzászólás</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Sor beszúró lekérdezés

      $sql="INSERT INTO forum values ('".$_POST[kuld_nev]."','".$_POST[kuld_uzenet]."')";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "Az adatbevitel sikeres";}

      print "<BR><A HREF='14_forum.html'>RENDBEN</A>";

    ?>

  </BODY>

</HTML>

Page 26: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

Eredmény:

A listázás html kódja:

<HTML>

  <HEAD>

    <TITLE>Fórum</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="14_forum.php">

      <INPUT TYPE="submit" VALUE="Vissza a fórumhoz!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Fórum</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Lekérdezés

      $sql="SELECT * FROM forum";

//Végrehajtás

Page 27: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      while ($kerdesTomb=mysql_fetch_array($eredmeny))

      {

        print "<TABLE WIDTH=600 BORDER=1>";

        $fhnev=$kerdesTomb['fhnev'];

        print "<TR><TD>".$fhnev."</TD></TR>";

        $uzenet=$kerdesTomb['uzenet'];

        print "<TR><TD>".$uzenet."</TD></TR>";

        print "</TABLE>";

        print "<HR>";

      }

      print "<A HREF='14_forumbevitel.html'>Hozzászól</A>";

    ?>

  </BODY>

</HTML>

Eredmény:

XVIII. A fórum moderálásaA html kód:

<HTML>

  <HEAD>

    <TITLE>Törlés</TITLE>

Page 28: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="14_forummoderal.php">

      Moderátori jelszó:<BR>

      <INPUT TYPE="text" NAME="kuld_jelszo"><BR>

      Törlendő hozzászóló:

      <INPUT TYPE="text" NAME="kuld_nev"><BR>

      <INPUT TYPE="submit" VALUE="Gyerünk!">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Törlés</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Törlő lekérdezés

      $jelszo=$_POST[kuld_jelszo];

      $nev=$_POST[kuld_nev];

      if ($jelszo=='qwertz')

      {

        $sql="DELETE FROM forum WHERE fhnev='".$nev."'";

//Végrehajtás

Page 29: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

        $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

        if ($eredmeny==1){print "Az törlés sikeres";}

      }

      else

      {

          print "<H1>Hibás jelszó</H1>";

      }

      print "<BR><A HREF='14_forum.php'>RENDBEN</A>";

    ?>

  </BODY>

</HTML>

Eredmény:

XIX. Szavazógép létrehozásaA html kód:

<HTML>

  <HEAD>

    <TITLE>Szavazógép</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="15_szavazoletrehoz.php">

      <INPUT TYPE="submit" VALUE="Létrehoz!">

    </FORM>

Page 30: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

  </BODY>

</HTML>

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Szöveg kiírása 2</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Táblakészítő lekérdezés

      $sql="CREATE TABLE szavazo(igen int, nem int)";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "A létrehozás sikeres";}

    ?>

  </BODY>

</HTML>

XX. Szavazat leadásaA html kód:

<HTML>

  <HEAD>

    <TITLE>Szavazás</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="15_szavazobevitel.php">

      A Windows Vista szuper operációs rendszer.<BR>

      <INPUT TYPE="radio" NAME="kuld_szavaz" VALUE="igen">Egyetértek<BR>

      <INPUT TYPE="radio" NAME="kuld_szavaz" VALUE="nem">Nem egészen<BR>

      <INPUT TYPE="submit" VALUE="Szavazás!">

    </FORM>

Page 31: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Szöveg kiírása 2</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Sor beszúró lekérdezés

      if ($_POST[kuld_szavaz]=="igen")

        {

          $sql="INSERT INTO szavazo values ('1','0')";

        }

      else

        {

          $sql="INSERT INTO szavazo values ('0','1')"; 

        }

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "Az adatbevitel sikeres";}

      print "<BR><A HREF='15_szavazas.html'>RENDBEN</A>";

    ?>

  </BODY>

</HTML>

Page 32: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

Eredmény:

XXI. A szavazás eredményeA html kód:

<HTML>

  <HEAD>

    <TITLE>A szavazás állása</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="15_szavazas.php">

      <INPUT TYPE="submit" VALUE="Vissza a szavazáshoz!">

    </FORM>

  </BODY>

</HTML>

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Szavazás állása</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("proba",$ossz);

//Az összegek lekérdezése

      $sql="SELECT sum(igen) as jo, sum(nem) as rossz FROM szavazo";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      while ($kerdesTomb=mysql_fetch_array($eredmeny))

      {

Page 33: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

          $jo=$kerdesTomb['jo'];

          $rossz=$kerdesTomb['rossz'];

          $osszes=$jo+$rossz;

          $joszazalek=$jo/$osszes*100;

          $rosszszazalek=$rossz/$osszes*100;

      }

      print "<H1>A VISTA JÓ: ".$joszazalek."%</H1>";

      print "<H1>A VISTA ROSSZ: ".$rosszszazalek."%</H1>";

      for ($i=1;$i<=$joszazalek/2;$i=$i+1)

      {

        print "<IMG SRC='piros.jpg'>";//Négyzetek elhelyezése

      }

      print "<BR>";

      for ($i=1;$i<=$rosszszazalek/2;$i=$i+1)

      {

        print "<IMG SRC='kek.jpg'>";

      }

      print "<BR>";

      print "<A HREF='15_szavazobevitel.html'>Én is szavazni akarok</A>";

    ?>

  </BODY>

</HTML>

Eredmény:

XXII. Állomány feltöltéseA feltöltés célkönyvtárának jogosultságait a szkript használata előtt megfelelő módon be kell állítani!

A html kód:

Page 34: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

<HTML>

  <HEAD>

    <TITLE>UPLOAD</TITLE>

  </HEAD>

  <BODY>

  <FORM ENCTYPE="multipart/form­data" ACTION="16_feltoltes.php" METHOD="POST">

//A MAX_FILE_SIZE meg kell előzze a fájlkiválasztó űrlapelemet

      <INPUT TYPE="hidden" NAME="MAX_FILE_SIZE" VALUE="10000000" >

//A name­ben megadott név szerinti tömbelemben kapunk adatokat a $_FILES tömbben

       Állomány elküldése: <INPUT NAME="userfile" TYPE="file" >

       <INPUT TYPE="submit" VALUE="OK" >

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Második példa</TITLE>

  </HEAD>

  <BODY>

    <?php

      $uploaddir = '/var/www/html/uploads/';//A feltöltés célja

      $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

      print "<pre>";

      if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) 

     {

        print "A fájl megfelelő. sikeresen feltöltésre került.<BR>";

     } 

     else 

    {

Page 35: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

          print "Lehetséges fájlfeltöltés­támadás!<BR>";

    }

    print "Íme egy kis információ hibakereséshez:";

    print_r($_FILES);

    print "</pre>";

   ?>

  </BODY>

</HTML>

Eredmény:

XXIII. Több témát tartalmazó fórum tábláinak elkészítéseA témákat tartalmazó tábla létrehozásának html kódja:

<HTML>

  <HEAD>

    <TITLE>Témák létrehozása</TITLE>

  </HEAD>

  <BODY>

Page 36: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

    <FORM METHOD=POST ACTION="20_tematablaletrehoz.php">

      <INPUT TYPE="submit" VALUE="Létrehoz!">

    </FORM>

  </BODY>

</HTML>

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Témák létrehozása</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("sajatforum",$ossz);

//Táblakészítő lekérdezés

      $sql="CREATE TABLE tematabla(azonosito int not null primary key auto_increment, cim varchar(140), letredatum datetime, tulaj varchar(140))";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "A létrehozás sikeres";}

    ?>

  </BODY>

</HTML>

A hozzászólásokat tartalmazó tábla html kódja:

<HTML>

  <HEAD>

      <TITLE>Hozzászólások létrehozása</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="20_hozzaszolastablaletrehoz.php">

      <INPUT TYPE="submit" VALUE="Létrehoz!">

    </FORM>

  </BODY>

Page 37: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

</HTML>

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Hozzászólások</TITLE>

  </HEAD>

  <BODY>

   <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("sajatforum",$ossz);

//Táblakészítő lekérdezés

      $sql="CREATE TABLE hozzaszolastabla(azonosito int not null primary key auto_increment, temaazon int not null, szoveg text, letrehozas datetime, bekuldo varchar(140))";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "A létrehozás sikeres";}

    ?>

  </BODY>

</HTML>

XXIV. Új téma létrehozásaA html kód:

<HTML>

  <HEAD>

    <TITLE>Új témák létrehozása</TITLE>

  </HEAD>

  <BODY>

    <H1> Új téma felvétele </H1>

    <BR>

    <FORM METHOD=POST ACTION="20_ujtemaurlap.php">

      E­mail cím:<BR>

      <INPUT TYPE="text" NAME="tulaj"><BR>

      Téma címe:<BR>

Page 38: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      <INPUT TYPE="text" NAME="cim"><BR>

      Hozzászólás:<BR>

      <TEXTAREA NAME="szoveg" ROWS=7 COLS=50></TEXTAREA><BR>

      <INPUT TYPE="submit" VALUE="Létrehozás">

    </FORM>

  </BODY>

</HTML>

Eredmény:

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Új téma</TITLE>

  </HEAD>

  <BODY>

    <?php

//Ki vannak­e töltve a szükséges mezők?

      if ((!$_POST[tulaj]) || (!$_POST[cim]) || (!$_POST[szoveg]))

      {

        header("Location:20_ujtemaurlap.html");

        exit;

      }

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","") or die(mysql_error());

//Adatbázis kiválasztása

      mysql_select_db("sajatforum",$ossz) or die(mysql_error());

Page 39: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

//A téma adatainak rögzítése

      $sql="INSERT INTO tematabla values ('','$_POST[cim]',now(),'$_POST[tulaj]')";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "A téma létrehozása sikeres<BR>";}

//Az új téma kulcsának lekérdezése

      $tema_azonosito=mysql_insert_id();

//A hozzászólás rögzítése

      $sql="INSERT INTO hozzaszolastabla values ('','$tema_azonosito','$_POST[szoveg]',now(),'$_POST[tulaj]')";

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "A hozzászólás létrehozása sikeres<BR>";}

    ?>

  </BODY>

</HTML>

Eredmény:

XXV. A témák listájaA PHP kód:

<HTML>

  <HEAD>

    <TITLE>Témalista</TITLE>

  </HEAD>

  <BODY>

    <H1> A fórum témái </H1>

    <?php

//Összeköttetés kiépítése

       $ossz=mysql_connect("localhost","root","") or die(mysql_error());

//Adatbázis kiválasztása

       mysql_select_db("sajatforum",$ossz) or die(mysql_error());

//A témák lekérdezése

Page 40: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      $sql="SELECT azonosito,cim,letredatum,tulaj FROM tematabla ORDER BY letredatum DESC";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

//Ha nincs még téma

      if (mysql_num_rows($eredmeny)<1)

      {

          print "<P>Nincsenek témák a fórumban.</P>";

      }

      else

      {

        print "<TABLE BORDER=1><TR><TD>TÉMA CÍME</TD><TD>HOZZÁSZÓLÁSOK SZÁMA</TD></TR>";

        while ($temakadatai=mysql_fetch_array($eredmeny))

         {

           $azonosito=$temakadatai['azonosito'];

           $cim=$temakadatai['cim'];

           $letredatum=$temakadatai['letredatum'];

           $tulaj=$temakadatai['tulaj'];

           $darabsql="SELECT COUNT(azonosito) FROM hozzaszolastabla where temaazon=$azonosito";//Hozzászólások leszámlálása

          $daraberedmeny=mysql_query($darabsql,$ossz) or die(mysql_error());

          $darabszam=mysql_result($daraberedmeny,0,'count(azonosito)');

          print "<TR><TD><A HREF=\"20_hozzaszolasok.php?azonosito=$azonosito\">$cim</A><BR> A témát $tulaj hozta létre. Dátum: $letredatum</TD><TD ALIGN=CENTER>$darabszam</TD></TR>";

        }

      }

    ?>

    <P><A HREF="20_ujtemaurlap.html">Új téma létrehozása</A></P>

  </BODY>

</HTML>

Eredmény:

Page 41: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

XXVI. HozzászólásokErre a lapra a témalista lapról lehet eljutni, ahol az URL­be bekerül az azonosító is.

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Hozzászólások 2</TITLE>

  </HEAD>

  <BODY>

    <?php

//Az URL ellenőrzése

      if (!$_GET[azonosito])

      {

        header("Location:20_temalista.php");

        exit;

      }   

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","") or die(mysql_error());

//Adatbázis kiválasztása

      mysql_select_db("sajatforum",$ossz) or die(mysql_error());

//A téma címének lekérdezése

      $sql="SELECT cim FROM tematabla WHERE azonosito=$_GET[azonosito]";

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

//Ha nincs ilyen téma

      if (mysql_num_rows($eredmeny)<1)

      {

        print "<P>Nincsen ilyen téma a fórumban.</P>";

Page 42: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

        print "<P><A HREF='20_temalista.php'>Újabb próbálkozás</A></P>";

      }

      else

      {

  //A téma címének kiolvasása

        $cim=stripslashes(mysql_result($eredmeny,0,'cim'));

  //A hozzászólások lekérdezése

        $hszsql="SELECT azonosito,szoveg,letrehozas,bekuldo FROM hozzaszolastabla WHERE temaazon=$_GET[azonosito] ORDER BY letrehozas";

        $hszeredmeny=mysql_query($hszsql,$ossz) or die(mysql_error());

        print "<H1>A <B>$cim</B> című téma hozzászólásai:</H1><BR>";

        while ($hozzaszolasadatai=mysql_fetch_array($hszeredmeny))

        {

          $azonosito=$hozzaszolasadatai['azonosito'];

          $szoveg=$hozzaszolasadatai['szoveg'];

          $letrehozas=$hozzaszolasadatai['letrehozas'];

          $bekuldo=$hozzaszolasadatai['bekuldo'];

          print "<TABLE BORDER=1 WIDTH=700>";

          print "<TR><TD>$bekuldo<BR>$letrehozas</TD></TR>"; 

          print "<TR><TD>$szoveg<BR><A HREF=\"20_valasz.php?azonosito=$azonosito\">VÁLASZ ERRE</A></TD></TR>";

          print "</TABLE><HR>";

        }

      }

    ?>

  </BODY>

</HTML>

Eredmény például:

Page 43: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

XXVI. Válaszok a hozzászólásokraErre a lapra, a hozzászólásokról juthatunk, tehát itt is fontos szerepe van az URL­ben szereplő azonosítónak.

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Hozzászólások 3</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","") or die(mysql_error());

//Adatbázis kiválasztása

      mysql_select_db("sajatforum",$ossz) or die(mysql_error());

//Megtörtént­e a beküldés

      if ($_POST[muvelet] != "bekuldes")

      {

  //Meg kell jeleníteni az űrlapot

  //Van­e ilyen téma

        if (!$_GET[azonosito])

        {

          header("Location:20_temalista.php");

          exit;

        }

  //Téma és hozzászólás ellenőrzése

        $ellsql="SELECT temaazon,cim FROM hozzaszolastabla,tematabla WHERE tematabla.azonosito=temaazon AND hozzaszolastabla.azonosito=$_GET[azonosito]";

        $elleredmeny=mysql_query($ellsql,$ossz) or die(mysql_error());

        if (mysql_num_rows($elleredmeny)<1)

        {

          header("Location:20_temalista.php");

          exit;

        } 

        else

        {

Page 44: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

    //Téma címének és azonosítójának kiolvasása

          $temaazon=mysql_result($elleredmeny,0,'temaazon');

          $cim=stripslashes(mysql_result($elleredmeny,0,'cim'));

          print "<H1> Hozzászólás a <B>$cim</B> című témához: </H1>";

          print "<FORM METHOD=POST ACTION=\"$_SERVER[PHP_SELF]\">";

          print "E­mail cím:<BR>";

          print "<INPUT TYPE=\"text\" NAME=\"bekuldo\"><BR>";

          print "Hozzászólás:<BR>";

          print "<TEXTAREA NAME=\"szoveg\" ROWS=10 COLS=50></TEXTAREA><BR>";

          print "<INPUT TYPE=\"hidden\" NAME=\"muvelet\" VALUE=\"bekuldes\">";

          print "<INPUT TYPE=\"hidden\" NAME=\"temaazon\" VALUE=\"$temaazon\">";

          print "<INPUT TYPE=\"submit\" VALUE=\"Mehet\"><BR>";

          print "</FORM>";

        }

      }

      else if ($_POST[muvelet]=="bekuldes")

      {

//A szükséges mezők ki vannak­e töltve?

      if ((!$_POST[temaazon]) || (!$_POST[szoveg]) || (!$_POST[bekuldo]))

      {

        header("Location: 20_temalista.php");

        exit;

      }  

//Hozzászólás felvétele

      $sql="INSERT INTO hozzaszolastabla VALUES ('','$_POST[temaazon]','$_POST[szoveg]',now(),'$_POST[bekuldo]')";

      mysql_query($sql,$ossz) or die(mysql_error());

//Visszairányítás a hozzászólásokhoz

      $link="20_hozzaszolasok.php?azonosito=$_POST[temaazon]";

      header("Location: $link");

      exit;

     }

    ?>

  </BODY>

Page 45: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

</HTML>

Eredmény például:

XXVII. Adatkezelő rendszer<HTML>

  <HEAD>

    <TITLE>Magyarország királyai</TITLE>

  </HEAD>

  <BODY>

    <H1>Magyarország királyai</H1>

    <H3>Módosítás</H3>

    <UL>

      <LI><A HREF="30_uj.php">Új adatok felvitele</A>

      <LI><A HREF="30_modosit.php">Adatok módosítása</A>

      <LI><A HREF="30_torol.php">Adatok törlése</A>

    </UL>

    <H3>Böngészés</H3>

    <UL>

      <LI><A HREF="30_megtekint.php">Bejegyzések megtekintése</A>

    </UL>

  </BODY>

Page 46: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

</HTML>

Eredmény:

A táblát létrehozó html kód:

<HTML>

  <HEAD>

    <TITLE>Tábla létrehozása</TITLE>

  </HEAD>

  <BODY>

    <FORM METHOD=POST ACTION="30_combotablaletrehoz.php">

      <INPUT TYPE="submit" VALUE="Létrehoz!">

    </FORM>

  </BODY>

</HTML>

A PHP kód:

<HTML>

  <HEAD>

    <TITLE>Tábla létrehozása</TITLE>

  </HEAD>

  <BODY>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","");

//Adatbázis kiválasztása

      mysql_select_db("sajatforum",$ossz);

//Táblakészítő lekérdezés

      $sql="CREATE TABLE magyartabla(azonosito int not null primary key auto_increment, nev varchar(140), kezdet int, veg int, apa varchar(140), anya varchar(140), szoveg text)";

Page 47: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

//Végrehajtás

      $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      if ($eredmeny==1){print "A létrehozás sikeres";}

    ?>

  </BODY>

</HTML>

XXVIII. Új rekord felvételeA PHP kód:

<HTML>

   <HEAD>

    <TITLE>Adatbevitel</TITLE>

    <?php

      if ($_POST[x]=='uj')//A php lap önmagát fogja meghívni

      {

//Összeköttetés kiépítése

        $ossz=mysql_connect("localhost","root","") or die(mysql_error());

//Adatbázis kiválasztása

        mysql_select_db("sajatforum",$ossz) or die(mysql_error());

//A form adatainak rögzítése

        $sql="INSERT INTO magyartabla VALUES ('','$_POST[nev]','$_POST[kezdet]','$_POST[veg]','$_POST[apa]','$_POST[anya]','$_POST[szoveg]')";

//Végrehajtás

        $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

      }

    ?>

  </HEAD>

  <BODY BGCOLOR="#FF00FF">

    <H3>Királyok adatainak felvitele</H3>

    <FORM METHOD=POST ACTION="<?php print $_SERVER[PHP_SELF]?>">

      NÉV:<BR>

      <INPUT TYPE='text' NAME='nev'><BR>

      URALKODÁS KEZDETE:<BR>

      <INPUT TYPE='text' NAME='kezdet'><BR>

      URALKODÁS VÉGE:<BR>

Page 48: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      <INPUT TYPE='text' NAME='veg'><BR>

      APA:<BR>

      <INPUT TYPE='text' NAME='apa'><BR>

      ANYA:<BR>

      <INPUT TYPE='text' NAME='anya'><BR>

      RÖVID LEÍRÁS:<BR>

      <TEXTAREA NAME='szoveg' ROWS=10 COLS=50></TEXTAREA><BR>

      <INPUT TYPE='hidden' NAME='x' VALUE='uj'>

      <INPUT TYPE='submit' VALUE='Rögzít'><BR>

    </FORM>

  </BODY>

</HTML>

Eredmény:

XXIX. Bejegyzések megtekintéseA PHP kód:

<HTML>

  <HEAD>

    <TITLE>Adatok megtekintése</TITLE>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","") or die(mysql_error());

Page 49: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

//Adatbázis kiválasztása

      mysql_select_db("sajatforum",$ossz) or die(mysql_error());

      if ($_POST[x]!='megnez')

      {

  //A form adatainak rögzítése

        $sql="SELECT * FROM magyartabla ORDER BY azonosito";

  //Végrehajtás

        $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

        if (mysql_num_rows($eredmeny)<1)

        {

          print "Nincsenek bejegyzések.";

        }

        else

        {

          print "<FORM METHOD=POST ACTION='$_SERVER[PHP_SELF]'>";

          print "Válasszon királyt!<BR>";

          print "<SELECT NAME='kiralynev'>";

          print "<OPTION VALUE=''>­­Válasszon!­­</OPTION>";

          while ($kiiras=mysql_fetch_array($eredmeny))

          {

            $azonosito=$kiiras['azonosito'];

            $nev=$kiiras['nev'];

            print "<OPTION VALUE='$azonosito'>$nev</OPTION>";//A lista feltöltése

          }

          print "</SELECT>";

          print "<INPUT TYPE='hidden' NAME='x' VALUE='megnez'>";

          print "<P><INPUT TYPE='submit' VALUE='Részletek'></P>";

          print "</FORM>";

        }

      }

      else if ($_POST[x]=="megnez")

      {

        if ($_POST[kiralynev]=="")

        {

Page 50: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

          header("Location:30_megtekint.php");

          exit;

        }

        $kiralysql="SELECT * FROM magyartabla WHERE azonosito=$_POST[kiralynev]";

        $kireredm=mysql_query($kiralysql);

        $nev=mysql_result($kireredm,0,'nev');

        print "<H1>$nev adatai:</H1>";

        $kezdet=mysql_result($kireredm,0,'kezdet');

        print "Uralkodásának kezdete: $kezdet<BR>";

        $veg=mysql_result($kireredm,0,'veg');

        print "Uralkodásának vége: $veg<BR>";

        $apa=mysql_result($kireredm,0,'apa');

        print "Apja: $apa<BR>";

        $anya=mysql_result($kireredm,0,'anya');

        print "Anyja: $anya<BR>";

        $szoveg=mysql_result($kireredm,0,'szoveg');

        print "Adatok:<BR> $szoveg<BR>";

        print "<P></P>";

        print "<A HREF='30_megtekint.php'>Vissza</A>";

      }

    ?>

  </HEAD>

  <BODY BGCOLOR="#00FFFF">

  </BODY>

</HTML>

Eredmény:

Page 51: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

XXX. MódosításA PHP kód:

<HTML>

  <HEAD>

    <TITLE>Adatbevitel</TITLE>

    <?php

      if ($_POST[x]=='modosit')

      {

//Összeköttetés kiépítése

        $ossz=mysql_connect("localhost","root","") or die(mysql_error());

//Adatbázis kiválasztása

        mysql_select_db("sajatforum",$ossz) or die(mysql_error());

//A form adatainak rögzítése

        $sql="UPDATE magyartabla SET kezdet = $_POST[kezdet] WHERE nev='$_POST[nev]'";

        $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

        $sql="UPDATE magyartabla SET veg = $_POST[veg] WHERE nev='$_POST[nev]'";

        $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

        $sql="UPDATE magyartabla SET apa = '$_POST[apa]' WHERE nev='$_POST[nev]'";

        $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

        $sql="UPDATE magyartabla SET anya = '$_POST[anya]' WHERE nev='$_POST[nev]'";

        $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

        $sql="UPDATE magyartabla SET szoveg = '$_POST[szoveg]' WHERE nev='$_POST[nev]'";

        $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

Page 52: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

      }

    ?>

  </HEAD>

  <BODY BGCOLOR="#226655">

    <H3>Királyok adatainak módosítása</H3>

    <FORM METHOD=POST ACTION="<?php print $_SERVER[PHP_SELF]?>">

      NÉV:<BR>

      <INPUT TYPE='text' NAME='nev'><BR>

      URALKODÁS KEZDETE:<BR>

      <INPUT TYPE='text' NAME='kezdet'><BR>

      URALKODÁS VÉGE:<BR>

      <INPUT TYPE='text' NAME='veg'><BR>

      APA:<BR>

      <INPUT TYPE='text' NAME='apa'><BR>

      ANYA:<BR>

      <INPUT TYPE='text' NAME='anya'><BR>

      RÖVID LEÍRÁS:<BR>

      <TEXTAREA NAME='szoveg' ROWS=10 COLS=50></TEXTAREA><BR>

      <INPUT TYPE='hidden' NAME='x' VALUE='modosit'>

      <INPUT TYPE='submit' VALUE='Módosít'><BR>

    </FORM>

  </BODY>

</HTML>

Eredmény:

Page 53: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

XXXI. TörlésA PHP kód:

<HTML>

  <HEAD>

    <TITLE>Adatok megtekintése</TITLE>

    <?php

//Összeköttetés kiépítése

      $ossz=mysql_connect("localhost","root","") or die(mysql_error());

//Adatbázis kiválasztása

      mysql_select_db("sajatforum",$ossz) or die(mysql_error());

      if ($_POST[x]!='torol')

      {

  //A form adatainak rögzítése

        $sql="SELECT * FROM magyartabla ORDER BY azonosito";

  //Végrehajtás

        $eredmeny=mysql_query($sql,$ossz) or die(mysql_error());

        if (mysql_num_rows($eredmeny)<1)

        {

          print "Nincsenek bejegyzések.";

        }

        else

        {

          print "<FORM METHOD=POST ACTION='$_SERVER[PHP_SELF]'>";

          print "Válasszon királyt!<BR>";

          print "<SELECT NAME='kiralynev'>";

          print "<OPTION VALUE=''>­­Válasszon!­­</OPTION>";

          while ($kiiras=mysql_fetch_array($eredmeny))

Page 54: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

          {

            $azonosito=$kiiras['azonosito'];

            $nev=$kiiras['nev'];

            print "<OPTION VALUE='$azonosito'>$nev</OPTION>";

          }

          print "</SELECT>";

          print "<INPUT TYPE='hidden' NAME='x' VALUE='torol'>";

          print "<P><INPUT TYPE='submit' VALUE='Törlés'></P>";

          print "</FORM>";

        }

      }

      else if ($_POST[x]=="torol")

      {

        if ($_POST[kiralynev]=="")

        {

          header("Location:30_torol.php");

          exit;

        }

        $torolsql="DELETE FROM magyartabla WHERE azonosito=$_POST[kiralynev]";

        $toroleredm=mysql_query($torolsql);

        $nev=mysql_result($kireredm,0,'nev');

        print "<H3>Bejegyzés törölve</H3>";

        print "<P><A HREF='$_SERVER[PHP_SELF]'>Másik bejegyzés törlése</A></P>";

      }

    ?>

  </HEAD>

  <BODY BGCOLOR="#6600EE">

  </BODY>

</HTML>

Eredmény:

Page 55: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László
Page 56: Programozás és adatbá s PHPben - Aktuálisszerver2.lacszki.sulinet.hu/tananyag/informatika/php.pdf · Programozás és adatbáziskezelés PHPben Készítette: Pető László

TartalomjegyzékI. A programozási környezet...................................................................................................................2II. Szöveg kiírása ....................................................................................................................................2III. Szöveg beolvasása, változó értékének átadása..................................................................................2IV. Számológép, matematikai műveletek, elágazások.............................................................................4V. A másodfokú egyenlet megoldóképlete..............................................................................................5VI. A számtani sorozat, ciklusok.............................................................................................................7VII. Mértani sorozat................................................................................................................................8VIII. Szorzótábla...................................................................................................................................10IX. Értéktáblázat; Függvények alkalmazása..........................................................................................11X. Diagram készítése.............................................................................................................................13XI. Az ismeros(nev, irsz, lakcim) adattábla létrehozása........................................................................15XII. Adatbeviteli űrlap az ismeros(nev, irsz, lakcim) táblához..............................................................17XIII. Lekérdezés az ismeros(nev, irsz, lakcim) táblából........................................................................18XIV. A posta(szam, varos) tábla létrehozása.........................................................................................20XV. Az ismeros(nev, irsz, lakcim) és a posta(szam, varos) tábla összekapcsolása...............................22XVI. Fórum létrehozása........................................................................................................................23XVII. Hozzászólás a fórumhoz.............................................................................................................24XVIII. A fórum moderálása..................................................................................................................27XIX. Szavazógép létrehozása................................................................................................................29XX. Szavazat leadása............................................................................................................................30XXI. A szavazás eredménye..................................................................................................................32XXII. Állomány feltöltése.....................................................................................................................33XXIII. Több témát tartalmazó fórum tábláinak elkészítése..................................................................35XXIV. Új téma létrehozása....................................................................................................................37XXV. A témák listája.............................................................................................................................39XXVI. Hozzászólások...........................................................................................................................41XXVI. Válaszok a hozzászólásokra......................................................................................................43XXVII. Adatkezelő rendszer.................................................................................................................45XXVIII. Új rekord felvétele...................................................................................................................47XXIX. Bejegyzések megtekintése.........................................................................................................48XXX. Módosítás....................................................................................................................................51XXXI. Törlés.........................................................................................................................................53