Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ksiega gosci
Forum PHP.pl > Forum > PHP
michu9010
witam,
mam taki skrypt ksiegi gosci ktory wykonuje dziwne dzialanie, i nie wpisuje danych do bazy ;/;/;/
taki jest adres po nacisnieciu dodaj:
Kod
http://localhost/guestbook.php?kto=michu&mail=michu9010%40gmail.com&data=09.02.2010%2C+14%3A52&tresc=&ok=Dodaj


a skrypt wyglada tak :
  1.  
  2.  
  3. <?php
  4.  
  5. // rozpoczęcie buforowania (jest to pozebne by nie mieć błędów typu headers already sent)
  6.  
  7. // start sesji
  8. //ustaw sekundy do timeout'u
  9. $intTimeoutSeconds = 300;
  10.  
  11. if(isset($_SESSION['intLasefreshTime']))
  12. {
  13. if(($_SESSION['intLasefreshTime']+$intTimeoutSeconds)<time())
  14. {
  15. }
  16. }
  17. $_SESSION['intLasefreshTime'] = time();
  18.  
  19. echo "<Br>";
  20. include("top.php");
  21. include("funkcje.php");
  22. include 'bbcode.php';
  23.  
  24. ///petla
  25.  
  26.  
  27. ///wyswietlenie wpisow
  28.  
  29.  
  30. $wynik = mysql_query("SELECT * FROM guestbook")
  31. or die('Błąd zapytania');
  32. if(mysql_num_rows($wynik) > 0) {
  33. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  34. echo "<div id=guestbook>";
  35.  
  36. while($r = mysql_fetch_assoc($wynik)) {
  37.  
  38. Numer ID:'.$r['id'].' Wpis od:'.$r['kto'].' Adres e-mail:'.bbcode($r['mail']).' Wpis z :'.date("d.m.Y, H:i", $r['data']).'<br>
  39. Treść:<br>'.bbcode($r['tresc']).'';
  40.  
  41. }
  42. echo "</div>";
  43. }
  44. else {
  45. echo "Brak wpisów<br>";
  46. }
  47. ////dodawanie wpisow - form
  48.  
  49. echo '<form action="guestbook.php" meod="POST" name="post">
  50. Imię lub nick:
  51. <input type="text" name="kto" style="width:400px;" /><br>
  52. Adres e-mail:
  53. <input type="text" name="mail" style="width:400px;" /><br>
  54. Data:<br>
  55. <input type="text" style="width:400px;" name="data" value="'.date("d.m.Y, H:i").'" /><br>';
  56. include 'emots.php';
  57.  
  58. echo'<br> Treść:<br>
  59.  
  60. <textarea id="markItUp" cols="20" rows="20" style="width:400px;height:200px;" name="tresc"></textarea><br>
  61.  
  62. <input type="reset" value="Reset" />
  63. <input type="submit" name="ok" value="Dodaj" />
  64. </form>';
  65.  
  66. ///dodawanie wpisow - funkcja
  67.  
  68.  
  69. if(isset($_POST['ok']))
  70. {
  71. $mail = trim($_POST['mail']);
  72. $kto = trim($_POST['kto']);
  73. $esc = trim($_POST['esc']);
  74. $data = trim($_POST['data']);
  75.  
  76. if($mail || $kto || $tresc) echo "Uzupełnij wszystkie pola!";
  77.  
  78. else
  79. {
  80.  
  81.  
  82. $query = "INSERT INTO guestbook (kto, mail, data, tresc) VALUES ('$kto', '$mail', '$data', '$tresc')";
  83.  
  84.  
  85.  
  86. $ins = mysql_query($query);
  87.  
  88. if($ins) echo "Wpis został dodany poprawnie do bazy";
  89. else echo "Błąd nie udało się dodać nowego wpisu do bazy";
  90. echo '<meta http-equiv="Refresh" content="1; url=guestbook.php" />';
  91. mysql_close($connection);
  92. ini_set( 'display_errors', 'On' );
  93. error_reporting( E_ALL );
  94. }
  95. }
  96.  
  97. include 'botom.php';
  98. ?>

[php][/php]
tehaha
co to znaczy dziwne działanie? jakie błędy wywala? Może zacznij od napisania czegoś konkretnego...zamień
  1. die('Błąd zapytania');
na
i zobacz czy jakieś błędy wyskakują
michu9010
po tej poprawce nie wywala bledow i nie dodaje do bazy....
altruista2
Błąd tkwi tu:
  1. <form action="guestbook.php" meod="POST" name="post">

Literówka - meod zamiast method

W efekcie zmienne są wysyłane są za pomocą GET, a ty dalej w skrypcie używasz danych z $_POST.

A poza tym jesteś kolejną osobą tutaj co prezentuje niebezpieczny, dziurawy skrypt - obowiązkowa lektura dla Ciebie:
Temat: SQL Injection Insertion
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.