Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problemy z cookies
kacka
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 5
Dołączył: 29.06.2005

Ostrzeżenie: (0%)
-----


Witam,
Na początku chciałbym się przywitać, ponieważ jest to mój pierwszy post.
A teraz do rzeczy.
Postanowiłem zrobić prosty skrypt pozdrowień dla radia. Wszystko ładnie chodzi oprócz jednej funkcji. Jest nią anty flood. Nie wiem co źle robię że nie sprawdza mi tego ciasteczka.
  1. <? ob_start(); ?>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  6. <meta http-equiv="Creation-date" content="2005-08-19T17:54:34Z" />
  7. <meta http-equiv="Content-Language" content="pl" />
  8. <title>Pozdrowienia</title>
  9. <?php
  10. //formularz
  11.  
  12. if (!isset($_POST[submit])) {
  13. echo '
  14. <form method="post" action="index.php">
  15. Od:<input type="text" name="odkogoto"><br>
  16. Pozdrowienie:<textarea name="tresctego" rows="3">Tu wpisz treść pozdrowienia</textarea>
  17. <input type="submit" name="submit" value="Wyślij">
  18. </form>';
  19.  
  20. } else {
  21. if($_COOKIE['pozdrowieniaco']=='1') //sprawdzanie ciastka
  22. {
  23. echo "Kolejne pozdrowienia będziesz mógł wysłać trochę później. Spróbuj za jakiś 
    czas."
    ;
  24. }
  25. else 
  26. {
  27. if(empty($_POST['odkogoto']) || empty($_POST['tresctego'])) { // jeśli nie jest wszystko wypełnione
  28.  
  29. echo "Sorry ale nie wypełniłeś wszystkich wymaganych pól :(";
  30. }
  31. else
  32. {
  33. setcookie ("pozdrowieniaco", "1", time() +180);  //tworzenie ciastka
  34. echo "Pozdrowienie zostało pomyślnie wysłane!";
  35. }
  36. }
  37. $db = mysql_connect("localhost", "root", "krasnal"); // host, nazwa usera i hasło
  38. if (!$db)
  39. die("failed to open database");
  40. mysql_select_db("pozdro"); //nazwa bazy danych
  41.  
  42. //polaczenie z baza
  43. $query = "insert INTO pozdrowienia
  44. (od, tresc)
  45. VALUES ('$odkogoto', '$tresctego' )";
  46. $result = mysql_query($query);
  47. if (mysql_errno())
  48. {
  49. echo "Pozdrowienie nie zostało wysłane!";
  50. die ("<br>" . mysql_errno() . ": ".mysql_error()."<br>");
  51.  
  52. }
  53.  
  54.  
  55. }
  56. ?>
  57. </head>
  58. </html>
  59. <? ob_end_flush(); ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
borec
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 0
Dołączył: 18.07.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


sprawdza czy nie sprawdza ciastka, tak czy siak skrypt dodaje dane do bazy, zle ulozyles warunki, powinno byc tak:
  1. <? ob_start(); ?>
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  6. <meta http-equiv="Creation-date" content="2005-08-19T17:54:34Z" />
  7. <meta http-equiv="Content-Language" content="pl" />
  8. <title>Pozdrowienia</title>
  9. <?php
  10. //formularz
  11.  
  12. if (!isset($_POST['submit'])) {
  13. echo '
  14. <form method="post" action="index.php">
  15. Od:<input type="text" name="odkogoto"><br>
  16. Pozdrowienie:<textarea name="tresctego" rows="3">Tu wpisz treść pozdrowienia</textarea>
  17. <input type="submit" name="submit" value="Wyślij">
  18. </form>';
  19.  
  20. }
  21. else {
  22. if ($_COOKIE['pozdrowieniaco']=='1') {
  23. echo "Kolejne pozdrowienia będziesz mógł wysłać trochę później. Spróbuj za jakiś 
    czas."
    ;
  24. }
  25. else {
  26. if(empty($_POST['odkogoto']) || empty($_POST['tresctego'])) { // jeśli nie jest wszystko wypełnione
  27. echo "Sorry ale nie wypełniłeś wszystkich wymaganych pól :(";
  28. }
  29. else {
  30. $db = mysql_connect("localhost", "root", "krasnal"); // host, nazwa usera i hasło
  31. if (!$db)
  32. die("failed to open database");
  33. mysql_select_db("pozdro"); //nazwa bazy danych
  34.  
  35. //polaczenie z baza
  36. $query = "insert INTO pozdrowienia
  37. (od, tresc)
  38. VALUES ('$odkogoto', '$tresctego' )";
  39. $result = mysql_query($query);
  40. if (mysql_errno())
  41. {
  42. echo "Pozdrowienie nie zostało wysłane!";
  43. die ("<br>" . mysql_errno() . ": ".mysql_error()."<br>");
  44.  
  45. }
  46. setcookie ("pozdrowieniaco", "1", time() +180);  //tworzenie ciastka
  47. }
  48. }
  49.  
  50.  
  51. }
  52. ?>
  53. </head>
  54. </html>
  55. <? ob_end_flush(); ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 10:35