Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nie działający skrypt
Forum PHP.pl > Forum > Przedszkole
together
Zaczynam naukę PHP, napisałem prosty skrypt do obsługi formularza, ale niestety nie działa. :/

  1. <?php
  2. if (strlen($name) > 0) {
  3. $name = stripslashes($name); }
  4. else {
  5. $name = NULL;
  6. echo 'Zapomniales/as podac swojego nazwiska!\n'; }
  7.  
  8. if (strlen($email) > 0) {
  9. $email = stripslashes($email); }
  10. else {
  11. $email = NULL;
  12. echo 'Zapomniałes/as podac swój e-mail!\n'; }
  13.  
  14. if (isset($gender)) {
  15. if ($gender == &#8216;M’) {
  16. echo '<b>Witam Pana!\n</b>'; }
  17. else if ($gender == &#8216;F’) {
  18. echo '<b>Witam Pania!\n</b>'; }
  19. else {
  20. $gender = NULL;
  21. echo 'Zapomniales/as podac swoja plec!'; }
  22. if (!(isset($age))) {
  23. $age = NULL;
  24. echo 'Zapomniales/as podac swoj wiek!'; }
  25. if (strlen($comments) > 0) {
  26. $comments = stripslashes($comments); }
  27. else {
  28. $comments = NULL;
  29. echo 'Zapomniales/as podac swoje komentarze!'; }
  30.  
  31.  
  32.  
  33. if ($name && $email && $gender && $age && $comments) {
  34. echo 'Bardzo dziekuje $name za twoje komentarze. Odpowiedz na nie przesle na adres: $email/n'; }
  35. ?>


Ktoś wie dlaczego?
Mephistofeles
Wiem, skrypt ma błąd.
Taka odpowiedź Ci wystarcza? Wypadałoby podać jakieś szczegóły, co się dzieje, jaki błąd wyskakuje...

Skąd się biorą zmienne $name, $email? Chyba nie są to parametry z POSTa? Jeśli tak, to zapomnij o register_globals, używaj tablicy $_POST.
together
Pokazuje błąd w ostatniej linijce, zmienne z formularza, metoda GET.
Mephistofeles
Sprawdź co zawierają zmienne $name, $email, $gender, $age np. var_dumpem.
Używaj $_GET['name'] zamiast $name, register_globals to przeszłość.
GoOx
  1. if ($name && $email && $gender && $age && $comments) {


To jest źle ułożone powinno być tak:

  1. if(($name <> "") && ($email <> "") && ($gender <> "") && ($age <> "") && ($comments <> "")) {



<> "" oznacza że zmienna coś zawiera.
Mephistofeles
Powinno być isset($name).
Rysh
Dokładnie, ten kod nie nadaję się do użytku. Zacznij od początku, tym razem tak jak podpowiadają inni. Nie ucz się nawet złych nawyków.
GoOx
isset też można zastosować jak kto woli ale to i tak prawie to samo.
-kobi-
Witam !
proszę o pomoc bo niewiem dlaczego nie dzieła mi ten skrypt
powinien wysyłac email a nic nie wysyła .
i niewiem gdzie zrobiłem błąd
podaje kod

  1. <?php
  2. 02 //html, meta tagi etc.
  3. 03
  4. 04 //NASZ SKRYPT
  5. 05 require_once("phpmailer/class.phpmailer.php");
  6. 06
  7. 07 $mail = new PHPMailer();
  8. 08
  9. 09 $mail->PluginDir = "phpmailer/";
  10. 10 $mail->Mailer = "smtp";
  11. 11 $mail->Host = "ssl://smtp.cba.pl";
  12. 12 $mail->Port = 25;
  13. 13
  14. 14 $mail->SMTPKeepAlive = true;
  15. 15 $mail->SMTPAuth = true;
  16. 16 $mail->Username = "login";
  17. 17 $mail->Password = "haslo";
  18. 18
  19. 19 $mail->SetLanguage("pl", "phpmailer/language/");
  20. 20 $mail->CharSet = "UTF-8";
  21. 21 $mail->ContentType = "text/html";
  22. 22
  23. 23 $mail->From = "mojnick@cba.pl";
  24. 24 $mail->FromName = "imie";
  25. 25 $mail->Subject = "Tytuł wiadomości";
  26. 26 $mail->Body = 'wiadomość>';
  27. 27
  28. 28 $mail->AddAddress("gdzietowyslac@domena.pl");
  29. 29
  30. 30 if($mail->Send())
  31. 31 echo "E-mail został wysłany <br>";
  32. 32 else
  33. 33 echo "E-mail nie mógł zostać wysłany, przyczyna :".$mail->ErrorInfo;
  34. 34
  35. 35 $mail->SmtpClose();
  36. 36 //koniec body html etc.
  37. 37 ?>
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.