Nová verze tohoto webu se nachází na www.tutorialy.com

homeforumTutorialy.com
 
Reklama
Práce s databází v PHP
Práce s databází v PHP
Práce s databází v PHP
Jednoduchý formulář a vložení dat z něj do databáze.
Autor: ZiZi | Kategorie: Tvorba webu > PHP | Zhlédnuto: 8621x |
Hodnocení: 2.8 | Komentáře (9) | Obtížnost: Začátečník | Vloženo: 12.5.2007

Vítejte v tutoriálu na jednoduchý formulář a vložení dat z něj do databáze.

1.) Nejdřív je potřeba vytvořit si soubor config.php, do kterého vložíme přihlašovací údaje pro MySQL databázi :

<?php
mysql_connect("localhost","nazev databaze","heslo");
MYSQL_SELECT_DB("nazev dtbze");
?>

Tyto údaje jsou většinou zasílány mailem i s přihlašovacímy údaji na FTP. V souboru config.php toho už víc není, tak se přesuneme dál.

2.) Teď si vytvoříme hlavní soubor index.php a v něm si vytvoříme základní podmínku : Pro začátečníky – všechno co je za // na jednom řádku není bráno jako kód ale poznámka ;) Já to za tím budu podrobně popisovat.

<?
include "config.php";
?>
//tady zacina vlozeni do databaze
<?php
if ($odeslano=="ano") { //pokud je odesláno
        if ($jmeno!=""){$ok1="ok";}
        //jmeno se nerovna nicemu, tak je v pohode
        if ($prijmeni!=""){$ok2="ok";}
        //a prijmeni se nerovna nicemu, tak je v pohode
}
if ($odeslano=="ano" and $ok1=="ok" and $ok2=="ok") {
        //jestlize odeslano je ano a ok1 je ok a ok2 je ok tak
        $ip=$REMOTE_ADDR;
        //vlozime si radsi navstevnikovu ip aby jsmne
        //ho mohli po pripade zabanovat
        $jmeno = Str_Replace("<","&lt;",$jmeno);
        //pokud ma nekdo ve jmenu znak < tak je vymenime za &lt;
        $jmeno = Str_Replace(">","&gt;",$jmeno);
        //pokud ma nekdo ve jmenu znak > tak je vymenime za &gt;
        $prijmeni = Str_Replace("<","&lt;",$prijmeni);
        //pokud ma nekdo ve prijmeni znak < tak je vymenime za &lt;
        $prijmeni = Str_Replace(">","&gt;",$prijmeni);
        //pokud ma nekdo ve prijmeni znak > tak je vymenime za &gt;
        mysql_query("INSERT INTO jmena values
        ('', '$jmeno','$prijmeni','$ip')"); //vlozime do databaze
        $potvrzeno="ano"; //a mame to potvrzene ;-)
}
if ($odeslano=="ano") { //pokud je odeslano
        if ($ok1!="ok"){ echo "<b>vyplnte jmeno!!!</b>"; }
        //ale ok1 se nerovna ok tak to hodi chybu
        if ($ok2!="ok"){ echo "<b>vyplnte prijmeni!!!</b>"; }
        //nebo ok2 se nerovna ok tak to hodi zase chybu
}
if ($potvrzeno=="ano") { echo "<b>byl jste vlozen!!!</b>"; }
        //jestli je to potvrzeny tak to napise hlasku
else {
?>

Teď html formulář ;) :

<h2>Formulář pro vložení se :-D</h2>
<form method="post" action="index.php?odeslano=ano">
<table>

<tr>
 <td>
  <b>Jmeno :</b>
 </td>
 <td>
  <input name='jmeno' type='text' />
<!-- atribut name urcuje nazev promenne,
        atribut type urcuje typ tagu input -->
 </td>
</tr>

<tr>
 <td>
  <b>Příjmení :</b>
 </td>
 <td>
  <input name='prijmeni' type='text' />
 </td>
</tr>

</table>

<input type="submit" value="Vložit" />
<!-- value urcuje co bude ten input obsahovat -->

</form>

Ukončíme předešlou podmínku else.

<?php
}
?>

A nyní budeme z dtbze vyndavat naše jména a příjmení :)

<?php
//tady zacina vyndavani z databaze
$prispevky = MySQL_Query("SELECT * FROM jmena ORDER BY `id`");
while($nacti = MySQL_Fetch_Array($prispevky)){
echo "
<br /><br />\n<table border='1' cellpadding='4'> \n
<tr>
<td>
Jméno
</td>
<td>
$nacti[jmeno]
</td>
</tr>
\n
<tr>
<td>
Příjmení
</td>
<td>
$nacti[prijmeni]
</td>
</tr>\n
</table>\n
";
}
?>

\n je odřádkování v html kódu ;-)

3.) phpMyAdmin – V databázi si přes phpmyadmina vytvoříme novou tabulku jmena a v ní vytvoříme 4 sloupečky id , jmeno , prijmeni a ip

id – typ je int a extra je auto_increment ostatní nechte být. jmeno – typ je text a ostatní necháme prijmeni – typ je text a ostatní necháme ip – typ je text a ostatní necháme

Ukázka je zde. Ke stažení je to zde. Tutoriál pro vás napsal ZiZi.


Hodnocení tutoriálu: 2.8 (hodnotilo 39 uživatelů)

Ohodnoťte tutoriál (jako ve škole):

Tutorialy.com © 2006 Marek Čapla & Filda | výměna odkazů | mapa webu | RSS zdroj | PageRank: 4 | ISSN 0322-9289

Online flash hry