Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Cannot redeclare escape_data()
Forum PHP.pl > Forum > Przedszkole
Gość_Paweł
Witam.
Mam taki o to kod, zwykły formularz, trzy pola:
  1. <?php
  2. if (isset($_POST['submit'])) {
  3. require_once ('polaczenie.php');
  4. function escape_data ($data) 
  5. {
  6. global $dbc;
  7. if (ini_get('magic_quotes_gpc'))
  8. {
  9. $data = stripslashes($data);
  10. }
  11. return mysql_real_escape_string($data, $dbc);
  12. }
  13. //sprawdzenie pola wiadomosc
  14. $message = NULL;
  15. if (empty($_POST['imie'])) {
  16. $i = FALSE;
  17. $message .= '<p>Musisz podac imie!</p>';
  18. } else {
  19. $i = htmlspecialchars(escape_data($_POST['imie']));
  20.  
  21. }
  22. //sprawdzenie pola temat
  23. if (empty($_POST['opis'])) {
  24. $o = FALSE;
  25. $message .= '<p>Musisz wpisac opis!</p>';
  26. } else
  27. {
  28. $o = htmlspecialchars(escape_data($_POST['opis']));
  29.  
  30. }
  31.  
  32. //sprawdzenie pola temat
  33. if (empty($_POST['email'])) {
  34. $e = FALSE;
  35. $message .= '<p>Musisz wpisac email!</p>';
  36. } else
  37. {
  38. $e = htmlspecialchars(escape_data($_POST['email']));
  39.  
  40. }
  41.  
  42. if($i && $o && $e){ //jesli ok
  43.  
  44. $query="Insert into book(nick,komentarz,email, data) values ('$i','$o','$e',NOW())";
  45. $result = @mysql_query ($query); // Wykonaj zapytanie.
  46. if ($result)
  47. { // Jezeli zostalo ono wykonane bez przeszkód.
  48. header ("Location: http://" . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . "/index.php?p=3");
  49. exit();
  50. }
  51. else
  52. echo 'Nie nadales wiadomosci';
  53. }
  54.  
  55. }
  56.  
  57. ?>
  58. <?php
  59.  
  60.  if (isset($message))
  61. {
  62. echo '<font color="red">', $message, '</font>';
  63. } 
  64. ?>
  65.  
  66. <form method="post" action="<?php echo "index1.php?p=31"; ?>">
  67.  <p align="center">Imie &nbsp;&nbsp;<input type="text" name="imie" maxlength="10"><br><br>
  68. Email <input type="text" name="email" maxlength="20"><br>Komentarz<br>
  69. <textarea rows="10" cols="20" class="form" name="opis" ></textarea><br><br>
  70. <input type="submit" name="submit" value="Ok"></form>
  71. </p>
  72. </form>

Gdy zostawię któreś pole puste to napisze że nie może być puste, ale również:
Fatal error: Cannot redeclare escape_data() (previously declared in D:\Public_html\A\31.php:4) in D:\Public_html\A\31.php on line 4


O co chodzi.Mam podobny formularz na innej stronie i tam wszystko działa.
To jest pewnie malutki błędzik, ale nie mogę go znaleźć.
Proszę o pomoc.

Pozdrawiam


~mike_mech
dtb
juz raz utworzyles funkcje escape_data(). poprostu usun deklaracje tej funkcji z przedstawionego kodu
Gość_Paweł
Raczej to nie to chodzi.
gdzie niby mam tą podwójną deklarację?

Po usunięciu
  1. <?php
  2.  
  3. function escape_data ($data) 
  4. {
  5. global $dbc;
  6. if (ini_get('magic_quotes_gpc'))
  7. {
  8. $data = stripslashes($data);
  9. }
  10. return mysql_real_escape_string($data, $dbc);
  11. }
  12.  
  13. ?>


wchodzi mi jakąś nieskończoną pętlę i wyświetla formularz na stronie a bez przesady ze 100 razy.

Jakieś inne wskazówki?

Pozdrawiam



~mike_mech
mike
Spróbuj function_exists() zanim zadeklarujesz funkcję.
Gość_Paweł
Dziękuję bardzo:)

Pomogło:)

Pozdrawiam
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.