Autor | Zpráva | ||
---|---|---|---|
paldo Profil |
#1 · Zasláno: 19. 4. 2011, 15:04:02
Prosím o radu proč se data neukládají z formuláře do databáze v následujícím příkladu - děkuji za pomoc.
<html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"/> </head> <body> <?php $dbname = "name"; $dbserver = "localhost"; $dbuser = "login"; $dbpass = "pass"; $tabulka = "tp_zaklad"; $db = mysql_connect("$dbserver", "$dbuser", "$dbpass") or die (mysql_error());; mysql_select_db("$dbname",$db); if(isset($_POST['submit'])) { $sql = "INSERT INTO $tabulka (porc, ztp_cislo) VALUES ('$porc', '$ztp_cislo')"; $sql = "SELECT * FROM $tabulka"; $result = mysql_query($sql); echo "<br/><br/>Informace byly vloženy do databáze.\n"; $resultsnumber = mysql_num_rows($result); echo "Celkem je v databázi uloženo $resultsnumber záznamů."; mysql_close($db); } else { ?> <form method="post" action="index.php"> <table style="width: 20%" cellspacing="0" cellpadding="0"> <tr> <td>Pořadové č.: </td> <td> <input type="text" name="porc" size="3"> </td> </tr> <tr> <td>Číslo ZTP: </td> <td> <input type="text" name="ztp_cislo" size="4"> </td> </tr> </table> <input name="submit" type="submit" value="Uložit" > </form> <?php } ?> </body> </html> |
||
__construct Profil |
#2 · Zasláno: 19. 4. 2011, 15:07:42
paldo:
if(isset($_POST['submit'])) { $porc = mysql_real_escape_string($_POST['porc']); $ztp_cislo = mysql_real_escape_string($_POST['ztp_cislo']); |
||
DJ Miky Profil |
#3 · Zasláno: 19. 4. 2011, 15:07:44
Ten dotaz si sice uložíš do proměnné $sql, ale nikdy ho nevykonáš. Dalším problémem, který může nastat, je vypnuté register_globals (měl bys používat $_POST, jako už to je u $_POST['submit']).
|
||
Tori Profil |
#4 · Zasláno: 19. 4. 2011, 15:22:41 · Upravil/a: Tori
paldo:
Reaguju na tohle: $sql = "SELECT * FROM $tabulka"; //.... $resultsnumber = mysql_num_rows($result); echo "Celkem je v databázi uloženo $resultsnumber záznamů."; SELECT COUNT(*) as 'pocet' FROM `tabulka` Kód příště prosím vkládejte mezi značky [>pre] a [/pre] (stačí označit text a kliknout na tlačítko <>) - místo kopírování kusů kódu budou moci ostatní odkazovat na příslušné řádky. |
||
paldo Profil |
#5 · Zasláno: 20. 4. 2011, 08:03:19
Děkuji za pomoc, ale po vaši doporučené úpravě se stejně nic neukládá, do adresáře jsem přidal textový soubor .htaccess kde je "php_flag register_globals on".
if(isset($_POST['submit'])) { $porc = mysql_real_escape_string($_POST['porc']); $ztp_cislo = mysql_real_escape_string($_POST['ztp_cislo']); $sql = "INSERT INTO $tabulka (porc, ztp_cislo) VALUES ('$porc', '$ztp_cislo')"; echo "<br/><br/>Informace byly vloženy do databáze.\n"; $sql1= "SELECT COUNT(*) as 'pocet' FROM $tabulka"; $result = mysql_query($sql1); $resultsnumber = mysql_num_rows($result); echo "<br/><br/>Celkem je v databázi uloženo $resultsnumber záznamů."; mysql_close($db); } else { ?> <form method="post" action="index.php"> <table style="width: 20%" cellspacing="0" cellpadding="0"> <tr> <td>Pořadové č.: </td> <td> <input type="text" name="porc" size="3"> </td> </tr> <tr> <td>Číslo ZTP: </td> <td> <input type="text" name="ztp_cislo" size="4"> </td> </tr> </table> <input name="submit" type="submit" value="Uložit" > </form> |
||
__construct Profil |
#6 · Zasláno: 20. 4. 2011, 08:32:08
paldo:
Medzi 6. a 7. riadok vlož mysql_query($sql); .
|
||
paldo Profil |
#7 · Zasláno: 20. 4. 2011, 09:44:35
Díky všem, jsem lama.
Už to chodí. |
||
Časová prodleva: 13 let
|
0