Autor | Zpráva | ||
---|---|---|---|
vlcekp1 Profil |
#1 · Zasláno: 16. 12. 2008, 11:15:02
Dobrý den.
Tento script má uložit všechny údaje z komentáře. Když uživatel do pole mail a web nic nevepíše, vše se uloží. Jakmile však vepíše svůj mail a web, komentář se neuloží. Pravděpodobně mám chybu někde v těch podmínkách if $email a $web. Kód scriptu pridatkomentar.php je: <html> <head> <meta name="description" content=""> <meta name="keywords" content=""> <meta http-equiv=Content-Type content="text/html\r\n charset=windows-1250"> <?require_once "spojeni.php" ;?> <title><?echo "'$title' výsledek operace";?></title> <font size="large"> </head> <body> <?php $datum = date("Y-m-d"); $jmeno = $_POST['jmeno']; $email=$_POST['email']; $web=$_POST['web']; $komentar = $_POST['komentar']; $id = $_POST['id']; $jmeno=HTMLSpecialChars($jmeno); $email=HTMLSpecialChars($email); $web=HTMLSpecialChars($web); $komentar=HTMLSpecialChars($komentar); $jmeno=stripslashes($jmeno); $email=stripslashes($email); $web=stripslashes($web); $komentar=stripslashes($komentar); $komentar = str_replace("\n"," <br> ", $komentar); if ($email=="") $email="Mail neuveden"; else $email="<a href='mailto:$email'>e-mail</a>"; if ($web=="") $web="Web neuveden"; else $web="<a href='$web'>web</a>"; require_once "spojeni.php"; if ($vysledek = mysql_query( "insert into $clanky2 (jmeno, email, web, komentar, idclanku, datum) values ('$jmeno','$email','$web','$komentar','$id','$datum')")) { echo "<br>Komentář byl uložen pro článek '$id'.<br>"; if ($komentare == 1) { if(!@mail($mail, "komentar", "Dobrý den\r\n. Tento e-mail dostáváte, protože jste povolil zasílání informací o nových komentářích.\r\n\r\n Právě byl zanechán komentář na vašem webu. Autorem komentáře je ".$jmeno.". Pokud si chcete tento komentář prohlédnout, \r\n <a href='".$site_url."vypisclanku.php?id=".$id."'>klikněte sem</a> \r\n\r\n Pokud už vás tyto zprávy nezajímají, přepište hodnotu proměnné v konfiguraci na 0.\r\n Přejeme pěkný den.", "Content-Type:text/html;charset=windows-1250\nFrom:$mail")) { echo "Informační zprávu pro administrátora těchto stránek se bohužel nepodařilo odeslat. Požádejte ho o kontrolu nastavení php."; } } } else { echo "Komentář se neuložil"; } ?> <input type=button onclick="history.back()" value="Zpět"> </body> </html> Může prosím někdo pomoct? Děkuji moc. |
||
eny Profil * |
#2 · Zasláno: 16. 12. 2008, 11:18:20
Zkus tohle:
if ($email==""){ $email="Mail neuveden"; }else{ $email="<a href='mailto:$email'>e-mail</a>"; } if ($web==""){ $web="Web neuveden"; }else{ $web="<a href='$web'>web</a>"; } |
||
bohyn Profil |
#3 · Zasláno: 16. 12. 2008, 11:27:50
eny
Podminky mas dobre. Precti si neco mysql_real_escape_string(). Problemy ti delaji jednoduche uvozovky v dotazu. |
||
vlcekp1 Profil |
eny
Pořád, pokud uživatel do položky mail, nebo web něco napíše, tak se to neuloží. Pokud je políčko odeslané prázdné, vše se uloží. |
||
vlcekp1 Profil |
#5 · Zasláno: 16. 12. 2008, 12:17:36
Takže chyba je v tom dotazu insert?
|
||
vlcekp1 Profil |
#6 · Zasláno: 16. 12. 2008, 12:23:51
Už mi to funguje.
Smazal jsem apostrofy u <a href=' a ještě ten za dolarem a už to funguje. |
||
Časová prodleva: 15 let
|
0