Dobrý den, založil jsem si databázi v phpMyadmin a chtěl bych do ní přidávat záznamy přes webové rozhraní do tabulky adresar.
Problém je, že s jazykem PHP a SQL jsem se setkal poprvé a nemůžu vše nějak vyladit, aby to fungovalo.
Založil jsem následující stránky - na kterých je formulář - uložené do 15-02php:
<head>
<title> Novoměstský pětiboj 2011 - on-line přihláška</title>
</head>
<body bgcolor="#ffebcd">
<h1>Přihlášení nového závodníka</h1>
<strong>Zadejte údaje o novém závodníku:</strong>
<form ACTION="15-03.php" method="post">
<table font class=text>
<tr><td>Jméno : <td><input TYPE=TEXT NAME=jmeno SIZE=20>
<tr><td>Příjmení : <td><input TYPE=TEXT NAME=prijmeni SIZE=20>
<tr><td>Reg. číslo : <td><input TYPE=TEXT NAME=RC SIZE=7>
<tr><td>Č. čipu :<td><input TYPE=INT NAME=SI SIZE=3>
<tr><td>E-mail : <td><input TYPE="text" NAME=Email SIZE=30>
<br>
<tr><td>Kategorie:<td><select name="kategorie" >
<option selected value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
<br>
<br>
<tr><th COLSPAN=1><input TYPE=Submit VALUE="Odeslat">
<tr><th COLSPAN=1><input TYPE=Reset VALUE="Vymazat">
</table>
</form>
<table>
<form ACTION=np.html METHOD=GET>
<tr><th colspan=1><input class=text TYPE=SUBMIT VALUE="Zpět">
</table>
</form>
</body>
-----------------------------------------------------------------------------------------------
zde jsou stránky k obsluze formuláře - uložené do 15-03.php:
<head>
<title> Novoměstský pětiboj 2011 - on-line přihláška</title>
</head>
<body bgcolor="#ffebcd">
<?php
$spojeni = mysql_connect("mysql.webzdarma.cz","np","*");
if (!$spojeni)
{
die('Nelze se připojit: ' . mysql_error());
}
mysql_select_db("np", $spojeni);
$sql="INSERT INTO adresar (jmeno, prijmeni, RC, SI, Email)
VALUES
('$_POST[jmeno]','$_POST[prijmeni]','$_POST[RC]', '$_POST[SI]''$_POST[Email]')";
if (!mysql_query($sql,$spojeni))
{
die('Chyba: ' . mysql_error());
}
echo "<h1>Nový záznam byl úspěšně přidán</h1>
<form ACTION="np_prihlasky.html" METHOD="GET">
<input TYPE=Submit
VALUE="Prohlížení seznamu přihlášených závodníků">
</form>
<form ACTION="15-02.php" METHOD="GET">
<input TYPE=Submit
VALUE="Přidání nového závodníka">
</form>
<form ACTION="np.html" METHOD="GET">
<input TYPE=Submit
VALUE="Zpět na úvodní stranu">
</form>";
mysql_close($spojeni)
?>
</body>
Zda by si někdo s tímhle věděl rady, tak prosím odepište. Mockrát děkuji za odpoveď Martin Křivda
echo "<h1>Nový záznam byl úspěšně přidán</h1>
<form ACTION=\"np_prihlasky.html\" METHOD=\"GET\">
<input TYPE=Submit VALUE=\"Prohlížení seznamu přihlášených závodníků\">
</form>
<form ACTION=\"15-02.php\" METHOD=\"GET\">
<input TYPE=Submit
VALUE=\"Přidání nového závodníka\">
</form>
<form ACTION=\"np.html\" METHOD=\"GET\">
<input TYPE=Submit
VALUE=\"Zpět na úvodní stranu\">
</form>";
Bylo by dobré k dotazu přikládat i celé znění chybových hlášek, které se zobrazí.
Kromě Radovanovy nalezené chybky s uvozovkami, je chybný i SQL dotaz. Chybný ani tak ne, ale spíše je spojen opět s uvozovkami. Uvnitř řetězce, jakým jsi to napsal, nelze používat pole. Nejjednodušeji to lze opravit obalením pole do {}. Příklad ..VALUES ('{$_POST[jmeno]}','{$_POST[prijmeni]}'..