Mam takyto script, funguje ale ma jedno chybu:
<head>
<title>Prva kniha navstev</title>
</head>
<body>
<?php
$link = mysql_connect ("xxx","xxx","xxx");
$db = mysql_select_db ("skuska", $link);
?>
<center><H1>Prva skúška Knihy návštev</h1></center>
Zdajte meno:<br>
<form action="index.php" method="POST">
Meno: <input type="text" NAME="meno"><br>
Odkaz: <textarea type="text" name="text" rows="5" cols="30"></textarea> <br>
<input type="SUBMIT" VALUE="odoslat">
</form>
<HR>
<?php
if(!empty($_POST["meno"]))
{
echo $_POST["meno"];
}
$dat = "insert into kniha (meno, odkaz) values ('$_POST[meno]','$_POST[text]')";
$db_dat = mysql_query($dat, $link); /
$vyb = "select * from kniha order by ID desc";
$db_vyb = mysql_query($vyb, $link);
while ($vyber = mysql_fetch_array($db_vyb)) {
echo "Meno: $vyber[meno]<br>
Odkaz: $vyber[odkaz]<br><hr><br>";
}
mysql_close ();
?>
</body>
Mi to vypisuje toto:
Notice: Undefined index: meno in c:\inetpub\wwwroot\index.php on line 19
Notice: Undefined index: text in c:\inetpub\wwwroot\index.php on line 19
A este sa stava ze ked sa 1. nacita tak ako keby sa tam sami ulozili hodnoty.
misto:
if(!empty($_POST["meno"]))
bzch pouzil:
if(IsSet($meno))
a melo by to fachat
To je při nastavenych register_globals IMHO to same.
Spíš vidím problém v rozdílu $_POST[meno] a $_POST['meno'].
Správně je podle mě to druhé...
Takhle to funguje akorát nevim jestli to delá to co si chtel!
<?php
Include "conn.php";
$spojeni = mysql_connect("$server","$login","$password");
mysql_select_db($database,$spojeni);
?>
<center><H1>Prva skúška Knihy návštev</h1></center>
<b>Zdajte meno:</b><br>
<form action="index-1.php" method="POST">
<table>
<tr>
<td><b>Meno:</b></td><td><input type="text" name="meno"></td>
</tr>
<tr>
<td><b>Odkaz:</b></td><td><textarea type="text" name="text" rows="5" cols="30"></textarea></td>
</tr>
<tr>
<td> </td><td><input type="SUBMIT" VALUE="odoslat"></td>
</tr>
</table>
</form>
<HR>
<?php
if(!empty($_POST["meno"]))
{
$dat = "insert into kniha (meno,odkaz) values ('$_POST[meno]','$_POST[text]')";
$sql = "select * from kniha order by ID desc";
$dat = MySQL_DB_Query("$database", $sql, $spojeni);
while ($zaznam = MySQL_fetch_array($dat)) {
echo"<b>Meno</b>:<b>".$zaznam['meno']."</b><br> <b>a</b> <b>Odkaz</b>:<b>". $zaznam['odkaz']."</b> <b>byly ulozeny do database!</b><br><hr><br>";
}
}
mysql_query($dat);
mysql_close ($spojeni);
?>
error_reporting (E_ALL ^ E_NOTICE);
Tak ted:
<?php
if(!empty($_POST["meno"]))
{
$dat = "insert into kniha (meno,odkaz) values ('$_POST[meno]','$_POST[text]')";
$sql = "select * from kniha order by id desc";
$vypis = MySQL_DB_Query($database, $sql, $spojeni);
while ($zaznam = MySQL_fetch_array($vypis)) {
echo"<b>Meno:</b><b>".$zaznam[meno]."</b><br><b>Odkaz:</b><b>". $zaznam[odkaz]."</b><b>byly ulozeny do database!</b><br><hr><br>";
}
}
mysql_query($dat);
mysql_close ($spojeni);
?>
este tu je jeden maly problem, vypisuje mi to toto:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\inetpub\wwwroot\index.php on line 18
Mas vubec udelanou v databazi tabulku v ktere by bylo id, meno, odkaz?
$sql = "select * from kniha order by ID desc";
Chybný SQL dotaz
blahapet: Ja v nem zadnou chybu nevidim. Spis struktura tabulky nebude odpovidajici.
Sojka:
No právě, dotaz neodpovídá struktuře tabulky. Teď nevím jestli to může být chybou, když má v SQL dotazu velkýma písmenama "ID" a v názvu tabulky bude mít třeba malýma "id".
> když má v SQL dotazu velkýma písmenama "ID" a v názvu tabulky bude mít třeba malýma "id".
AFAIK je MySQL case-sensitive, na linuxu urcite.