Autor Zpráva
BlackMartin
Profil
Moc Vás prosím nevíte kde dělám chybu ?


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

<?php
$id = $_GET["id"];
$a = $_GET["a"];
$user = $_POST["user"];
$email = $_POST["email"];
$text = $_POST["text"];
$submit = $_POST["submit"];
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>";
}
}

if ($submit==TRUE && $user!="" && $email!="" && $text!="")
{
$query = mysql_query("INSERT INTO comments_news (newsid, subject, user, email, text ) VALUES ('$id', 'Komentář', '$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!";
}


?>




Po zadání textu, jména a emailu mi vyskočí hláška o neuložení dat do DB.
Můžete vyzkoušet zde http://www.martindeveloper.ic.cz/?id=5&a=addcomment

Mimochodem se omlouvám za takový titulek ale nic lepšího mě nenapadlo...
Děkuju moc za rady.
DJ Miky
Profil
Vypiš si mysql_error()… A přečti si něco o SQL injection, mohlo by se ti to hodit.
BlackMartin
Profil
mysql_error() je vypsán pomocí echo "<h2>$db_error</h2>";
Ale nic se nevypíše.
OK něco si počtu ...
BetaCam
Profil
BlackMartin
mysql_error() je vypsán pomocí echo "<h2>$db_error</h2>";

Ehm možná sem slepej, ale můžeš mi prozradit kde tu tvojí proměnnou $db_error plníš tim mysql_errorem?? Nějak si nemůžu pomoct, fakt to tam nevidim.
BlackMartin
Profil
Tento kód co tady je se do stránky includuje a ve headeru se includuje config soubor ve kterém je $db_error plněna mysql_error() .
BetaCam
Profil
BlackMartin
Tento kód co tady je se do stránky includuje a ve headeru se includuje config soubor ve kterém je $db_error plněna mysql_error() .

No nevim to si jako tu proměnnou naplníš SQL Errorem před provedenim dotazu?? Přijde mi to trochu zcestné řešení. Podle toho co píšeš naplníš tu proměnnou $db_error ještě před tím než provedeš příkaz tedy před tím než nastane chyba. Když to plníš před dotazem logicky vrátí mysql_error() pendrek aspon mám takovej pocit. Možná to co používáš funguje, ale popravde já sem takovouhle konstrukci výpisu mysql_error() ještě neviděl. :)
BetaCam
Profil
BlackMartin

Ještě takové možná rejpnutí. Pokud si na svou stránku dáš ikonku, že tvůj web je HTML 4.01 valid tak by opravdu ale validní měl bejt. :)
BlackMartin
Profil
Aha tak já tam dám normální mysql_error().
A o té validitě, tak on byl do té doby než jsem začal psát články pomocí TinyMCE ...

EDIT: Tak jsem zjistil že mám duplicní hodnotu pro klíč. Tak jsem sloupci ubral vlastnost "Primary key" a nyní vše funguje.

Děkuji všem.

Jen mimochodem jde nějak nastavit u TinyMCE aby generoval validní HTML 4.01 kód ?
orsic
Profil
Pokud si na svou stránku dáš ikonku, že tvůj web je HTML 4.01 valid tak by opravdu ale validní měl bejt. :)

Poslední dobou zjišťuju že to má hodně lidí,tuhle ******* ikonku a nevalidní web ...
Mě osobně je validita celkem volná ale tyhle ikonky jsou imho docela stupidní móda HTML kodérů ...
BlackMartin
Profil
...docela stupidní móda HTML kodérů ...
Řekl bych čím víc bude webů bude validních tím lepší ty weby budou.
Jak pro prohlížeč ( nemusí překousávat různé chyby ) tak i pro kódery.
Pak ten kód bude přehlednější.
orsic
Profil
validnost je dobrá věc ale nic se nesmí přehánět.uživatele jenž si prohlíží stránky to pranic nezajímá zda je web validní nebo není a už vůbec ho nezajímají nějaké otravné ikonky validnosti.Pokud ho to bude zajímat může si ten web vždycky projet validátorem.Důležité aby stránky fungovaly a pokud možno rychle.

ani samotnej google.com není validní,já bych to s tím W3C zas tak nepřeháněl ...

už jsme tady offtopic,sorry ...

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:

0