| Autor | Zpráva | ||
|---|---|---|---|
| pema01 Profil |
#1 · Zasláno: 16. 11. 2014, 22:37:52
Ahoj,
mám formulář: <form action="./pridejOtazkuDb.php" method="get"> <input type="text" name="otazka" value="" placeholder="Otázka"> <input type="text" name="odpoved" value="" placeholder="Odpověď"> <input type="submit" value="Odeslat"> </form> a PHP kód, který má odeslat z formuláře Otázku a správnou odpověď: <?php
header('Content-Type: text/html; charset=utf-8');
$server = "localhost";
$databaze = "db";
$uzivatel = "fantomas";
$heslo = "fantom";
if (mysql_connect($server, $uzivatel, $heslo)) {
if (mysql_select_db($databaze)) {
$pridej = "INSERT INTO Otazky VALUES(NULL,'$GET[otazka]','$GET[odpoved]')";
$proved = mysql_query($pridej);
if ($proved) {
header("location:./pridejOtazkuForm.php");
}else{
echo 'nastala chyba při zapisování do DB';
}
} else{
echo 'nepřipojeno';
}
} else {
echo 'chyba';
}
?>PHP soubor nevyhodí žádnou chybu, vrátí mě tedy zpět na formulář. Problém však je na straně hostingu, kde se mi do tabulky přidá jen ID (které má být v první kolonce a v PHP tedy dávám hodnotu NULL, neboť se mi automaticky přidává), další 2 sloupce však jsou prázdné (viz obr.). Znakovou sadu mám správně, ale nechápu kde je chyba. Díky za radu. (náhled obrázku viz. můj příspěvek na pc-helpu, kde mi nikdo nepomohl:ZDE ) |
||
| lionel messi Profil |
#2 · Zasláno: 16. 11. 2014, 22:46:05
$pridej = "INSERT INTO Otazky VALUES(NULL,'$_GET[otazka]','$_GET[odpoved]')"; Superglobálne pole sa v PHP zapisuje s podtržítkom po dolári, čiže $_GET. $GET je úplne iné, v tvojom prípade nedefinované pole. PS. Odporúčam pozrieť na Definitivní příručka escapování, vkladať do db neošetrený užívateľský vstup je trochu hazard. |
||
| mimochodec Profil |
#3 · Zasláno: 16. 11. 2014, 22:57:04
Kromě toho doporučuji syntaxi
INSERT INTO table_name (column1, column2, column3,...) VALUES (value1, value2, value3,...) Kromě nesmyslného zadávání ID=NULL to zabrání přehmatům vyplývajícím ze situací, kdy člověk vkládá hodnoty a nemá kontrolu, do jakých sloupců. |
||
| pema01 Profil |
#4 · Zasláno: 17. 11. 2014, 11:49:14
Děkuji mockrát, oba jste mi pomohli, vše funguje.
|
||
|
Časová prodleva: 12 let
|
|||
0