Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Formularz zapisu na newsletter
Forum PHP.pl > Forum > Przedszkole
gregi1
Tworze formularz zapisu na newsletter i niestety napotkałem na problem:

Mam kod:

  1. if ($akcja == 'add') {
  2. $mail = $_POST['email'];
  3. $token = sha1(time());
  4. $data_zapisu=date(c);
  5. $ip = $_SERVER['REMOTE_ADDR'];
  6. $sql='SELECT * FROM newsletter where e-mail ='.$mail;
  7. $res = mysql_query($sql);
  8.  
  9. $num_rows = mysql_num_rows($res);
  10.  
  11.  
  12. if ($num_rows=="0") {
  13. $zapis='INSERT INTO newsletter(e-mail,token,data_zapisu,ip) VALUES ('.$mail.','.$token.','.$data_zapisu.','.$ip.')';
  14. $res = @mysql_query($zapis);
  15.  
  16.  
  17. }
  18.  
  19. else {
  20.  
  21. $res = mysql_query("SELECT active FROM newsletter where e-mail = \"".$mail."\" ");
  22. $row = mysql_fetch_array($result);
  23. if ($row[0] == "1") {
  24. echo("Adres już istnieje w bazie i jest aktywny");
  25. }
  26.  
  27. else {
  28. echo 'Nie aktywny';
  29. }
  30. }
  31. }


Jak wpisuje adres e-mail w formularzu to dostaje na stronie komunikat:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/gregi1/domains/politykroku.eu/public_html/dev/func/newsletter_show.php on line 47

Dodam ze do bazy nic sie nie zapisuje.

radziowie
Masz złe zapytanie do bazy. Przynajmniej jeden z argumentów jest niepoprawny. Pokaż może strukturę tabeli?
markonix
Stringi w języku sql umieszczamy w " " np. where `e-mail` = "'.$email.'";
vistacash
podobnie i w zapytaniu INSERT wartości tekstowe w zapytaniu musisz otoczyć ""

  1. 'INSERT INTO newsletter(e-mail,token,data_zapisu,ip) VALUES ("'.$mail.'","'.$token.'",'.$data_zapisu.',"'.$ip.'")';


markonix
dodaj po zapytaniu:
or die(mysql_error());
gregi1
Cytat(markonix @ 29.11.2010, 21:31:43 ) *
dodaj po zapytaniu:
or die(mysql_error());


Nie wiem dlaczego, ale nie akceptowal pola e-mail pomogla zmiana na email w bazie i w kodzie.
markonix
Dozwolone znaki w bazie danych litery, cyfry i znak podkreślenia.
Przynajmniej jeśli nie dozwolone to na pewno zalecane winksmiley.jpg
markonix
Temat świeci kolorem rozwiązanego..
gregi1
Cytat(markonix @ 29.11.2010, 22:16:47 ) *
Temat świeci kolorem rozwiązanego..


Jeśli można prosiłbym o nie zamykanie tematu... temat dotyczy ogólnie zapisu na newsletter, a jestem dopiero na początku drogi czekają mnie jeszcze potwierdzenia zapisu, wiec myslę ze może się jeszcze przydać.
markonix
Zwykle jeden temat = jeden problem (przynajmniej jedna dziedzina problemu).
Nic nie płacisz na zakładanie tematów tongue.gif
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.