Autor Zpráva
BlackMartin
Profil
Dobrý den.
Předem se chci omluvit za "prasácký" kód , takže bych popřípadně byl vděčný za nějaké rady ohledně kódu.
Ale k věci mám tento kód:

<h2>Novinky</h2>
<br>
<br>

<?php
$id = $_GET["id"];
$a = $_GET["a"];
if ($id==TRUE)
{
$query = mysql_query("SELECT * FROM news WHERE id = '$id'");
while ($news = mysql_fetch_array($query))
  {
  echo "<h3>".$news["title"]."</h3>  <h4>napsal: <i>".$news["author"]."</i></h4><br>".$news["text"]."<br><br>"; 
  
  }
echo "<br><h3>Komentáře</h3><br>";
$query = mysql_query("SELECT * FROM comments_news WHERE newsid = '$id'");
while ($coment = mysql_fetch_array($query))
{
echo "Předmět:".$coment["subject"]."<br>Uživatel:".$coment["user"]."<br>E-M   ail:".$coment["email"]."<br><br>Text:<br>".$coment["text"]."<br>";
}
echo "<br><a href=\"?id=$id&a=addcomment\">Přidat komentář!</a>";
  if ($a=="addcomment")
  {
    echo "<br><h3>Přidat komentář</h3><form action=\"\" method=\"POST\" >Vaše jméno:<input type=\"text\" name=\"user\"><br>Váš email:<input type=\"text\" name=\"email\"><br>Text:<br><textarea rows=\"10\" cols=\"50\" name=\"text\"></textarea><br><input type=\"submit\" value=\"Odeslat\" name=\"submit\"></form>";
  }
}
else {
$query = mysql_query ("SELECT * FROM news ORDER BY id DESC LIMIT 3");
while ($news = mysql_fetch_array($query))
{
echo "<h3><a href=\"?id=".$news["id"]."\" >".$news["title"]."</a></h3>  <h4>napsal: <i>".$news["author"]."</i></h4><br>".$news["text"]."<br><br>";
}
}

$user = $_POST["user"];
$email = $_POST["email"];
$text = $_POST["text"];
$submit = $_POST["submit"];
if ($submit==FALSE)
{
echo "<br>Musíte vložit všechny údaje!";
}
elseif ($submit==TRUE && $user!="" && $email!="" && $text!="")
{
$query = mysql_query("INSERT INTO `comments_news` (`user`, `email`, `text`) VAULES ('$user', '$email', '$text')");
  if ($query==TRUE)
  {
  echo "<script language=\"javascript\" type=\"text/javascript\">alert('Komentář byl vložen do databáze.');</script>";
  echo "<script>window.location.href=\"http://$homepage/?id=$id\";</script>";   
  }
  else
  {
  echo "<script language=\"javascript\" type=\"text/javascript\">alert('Nepodařilo se vložit komentář.');</script>";
  echo "<h2>$db_error</h2>";
  }
}
else
{
echo "<br>Musíte vložit všechny údaje!";
}


?>




Jak jste jsi mohli všimnout tak kod vypisuje 3 poslední články z DB a když je uvedeno ID v GET proměné tak vypíše jen tu novinku + komentáře kní.
Ale jakmile se pokusím o přidání komentáře tak pokaždé na mě vyskočí alert s textem "Nepodařilo se vložit komentář.".
Spojení s MySQL je otevřeno již ve headeru takže tady již není potřeby .... vše prostě funguje až na vkládání komentářů...
Popřípadně můžete vyzkoušet zde http://martindeveloper.ic.cz/?id=5&a=addcomment

Děkuju moc za všechny rady.
Jan Tvrdík
Profil
BlackMartin
Kdybys celý kod vložil mezi [pre ] a [/pre], byl by o poznání čitelnější.
BlackMartin
Profil
Kdybys celý kod vložil mezi [pre ] a [/pre], byl by o poznání čitelnější.
Hotovo.
Nevíte tedy kde je problém ?
Mastodont
Profil
Zkus namísto VAULES napsat VALUES.
mila
Profil
Všeobecně pokud ti něběží nějaký dotaz do databáze jak má, tak za něj vlož
echo mysql_error(); 

( http://cz2.php.net/manual/en/function.mysql-error.php )

Pokud je v něm nějaká chyba, tak to hodně napoví. Pokud ne, tak je dobré vypsat si ten dotaz:
$sql = "INSERT ..."; 
echo $sql; 
mysql_query($sql); 

Tak zjistíš, jestli je špatně ten dotaz nebo php kolem (neboli jestli je v tom dotazu co očekáváš)

A je dobré tyhle dva kroky udělat, než se zeptáš:)
BlackMartin
Profil
Reaguji na Mastodont
Děkuji ( i uživateli mila , již to funguje ...
Mimochodem při té chybě mám tam řádek
echo "<h2>$db_error</h2>";

Ale stejně nic nevypsal ... $db_error je definována jako mysql_error();

EDIT: Tak nic ... změnil jsem řádek s query na
mysql_query("INSERT INTO `comments_news` (`newsid`, `user`, `email`, `text`) VALUES ('$id', '$user', '$email', '$text')");

A zase to nefunguje ... Nevíte kde dělám chybu ?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: