Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Nie wysyła komentarza
Forum PHP.pl > Forum > Przedszkole
Drav
Witam, mam dosyć banalny problem, ale niestety nie umiem go rozwiazac, coś (jakis drobny bład) w tym kodzie powoduje, ze komentarz nie chce sie wysłac.
Jesli bedzie taka potrzeba, to podesle kompletny kod strony.

  1. function komentarz_pokaz($typ)
  2. {
  3. global $db;
  4. global $i;
  5. $zapytanie_2 = "select * from komentarz_".$typ." where ".$typ."id=".$i;
  6. $wynik_2 = $db->query($zapytanie_2);
  7. $wiersz_2 = $wynik_2->fetch_assoc();
  8. $ilekomentarzy = $wynik_2->num_rows;
  9. if($ilekomentarzy > 0)
  10. {
  11. echo '
  12. </div>
  13. <h2>Komentarze</h2>
  14. <div class="komentarz">
  15. <p>'.stripslashes($wiersz_2["autor"]).' | '.stripslashes($wiersz_2["data"]).'</p>
  16. '.stripslashes($wiersz_2["tresc"]).'
  17. </div>
  18. </div>';
  19. }
  20. else
  21. {
  22. echo '
  23. </div>
  24. <h2>Brak Komentarzy</h2>
  25. </div>';
  26. }
  27. $autor = $_POST['autor'];
  28. $test = $_POST['test'];
  29. settype($test, "string");
  30. $tresc = $_POST['tresc'];
  31. if(empty($autor) || empty($komentarz) || $test != 9)
  32. {
  33. echo '
  34. <form method="post" action="index.php?s='.$typ.'&id='.$i.'">
  35. <h2>Skomentuj</h2>
  36. <input name="autor" type="text" value="Nick" /><br/>
  37. <input name="test" type="text" value="dwa dodać siedem to..." /><br/>
  38. <textarea name="tresc" cols="70" rows="5"></textarea>
  39. <input type="submit" value="Dodaj komentarz" />
  40. </form>
  41. ';
  42. }
  43. else
  44. {
  45. $dodaj = "insert into komentarz_".$typ." values ('".$i."', '".$autor."', '".$tresc."')";
  46. $dodano = $db->query($dodaj);
  47. if($dodano)
  48. {
  49. echo 'Komentarz dodany pomyślnie';
  50. }
  51. }
  52. }
yevaud
moze daj jakis komunikat bledu
Drav
Właśnie nie ma żadnego błędu. Już poradziłem sobie z tym problemem (zamiast $komentarz ma byc $tekst w linii 31) ale mam następny, mianowicie po kliknięciu w pole SUBMIT nadal się on nie dodaje, pojawia sie puste miejsce, a wiec cała pętla if, else nie jest wykonywana. Ktos wie czemu tak sie dzieje?

STRUKTURA BAZY
  1. `komentarzid` int(10) unsigned NOT NULL auto_increment,
  2. `newsid` char(5) character set utf8 default NULL,
  3. `autor` char(30) character set utf8 default NULL,
  4. `data` date NOT NULL,
  5. `tresc` text character set utf8,
  6. PRIMARY KEY (`komentarzid`)


raczkuje w mysql, takze mozliwe, ze zrobiłem jakis banalny bład, jesli byscie mi go pokazali to byłbym bardzo wdzieczny smile.gif
adam882
Nie wiem czy to powinno pomóc, ale w każdym bądź razie powinieneś bardziej sprecyzować INSERT, przykładowo:

$dodaj = "insert into komentarz_".$typ." (parentid,autor,tresc) values ('".$i."', '".$autor."', '".$tresc."')";

BTW: dodając do bazy dane używaj przynajmniej addslashes(), jeśli klasa bazy danych nie filtruje zapytania
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.