Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zle wykonywanie sie kodu
Forum PHP.pl > Forum > Przedszkole
perabo
Mam taki kod:

  1. <?php 
  2.  
  3. if($_GET['status'] === 'FAIL')
  4. {
  5. echo 'Blad.';
  6. header("Refresh: 2; www.adres.pl");
  7. }
  8. else{
  9.  
  10. $do = $_POST['email'];
  11. $wiadomosc = 'wiadomosc';
  12.  
  13. $naglowki = 'MIME-Version: 1.0' . "\n";
  14. $naglowki .= 'Content-type: text/html; charset=iso-8859-2' . "\n";
  15. $naglowki .= 'From: mail' . "\n" . 'Reply-To: mail';
  16. $temat = 'Dzieki';
  17. echo 'Sprawdz emaila ;))';
  18. mail($do, $temat, $wiadomosc, $naglowki);
  19. }
  20. ?>


Gdy wejde pod adres cos.php?status=FAIL wysyla emaila a nie powinien, dleczego tak się dzieje?
bim2
Nie
===
a
==

smile.gif
3 "równa się" porównuje typy np true===false
a 2 "równa się" to porównator logiczny (dobrze napisałem?) smile.gif
perabo
Zmieniłem to na == i dalej wysyla meila ;/
piotrooo89
=== argumenty tych samych typów sa równe

== argumenty sa równe

a może sprawdz czy nie jest puste?

  1. <?php
  2. if (!empty($_GET['status']))
  3. {
  4. if($_GET['status'] == 'FAIL')
  5. {
  6. echo 'Blad.';
  7. header("Refresh: 2; www.adres.pl");
  8. }
  9. else{
  10.  
  11. $do = $_POST['email'];
  12. $wiadomosc = 'wiadomosc';
  13.  
  14. $naglowki = 'MIME-Version: 1.0' . "\n";
  15. $naglowki .= 'Content-type: text/html; charset=iso-8859-2' . "\n";
  16. $naglowki .= 'From: mail' . "\n" . 'Reply-To: mail';
  17. $temat = 'Dzieki';
  18. echo 'Sprawdz emaila ;))';
  19. mail($do, $temat, $wiadomosc, $naglowki);
  20. }
  21. }
  22. ?>
perabo
piotrooo89 - teraz się już nie wysyła mail.. no ale gdy np. status=OK to też nie wysyła a powinien wysłać...
webdice
Bo ma być:

  1. <?php
  2. if (!empty($_GET['status']))
  3. ?>


Popatrz czasem co kopiujesz.
piotrooo89
to może spróbuj porównać ciągi

  1. <?php
  2. if (!empty($_GET['status']))
  3. {
  4. $status = $_GET['status'];
  5. if(strcasecmp($status, "FAIL")==0)
  6. {
  7. echo 'Blad.';
  8. header("Refresh: 2; www.adres.pl");
  9. }
  10. else{
  11.  
  12. $do = $_POST['email'];
  13. $wiadomosc = 'wiadomosc';
  14.  
  15. $naglowki = 'MIME-Version: 1.0' . "\n";
  16. $naglowki .= 'Content-type: text/html; charset=iso-8859-2' . "\n";
  17. $naglowki .= 'From: mail' . "\n" . 'Reply-To: mail';
  18. $temat = 'Dzieki';
  19. echo 'Sprawdz emaila ;))';
  20. mail($do, $temat, $wiadomosc, $naglowki);
  21. }
  22. }
  23. ?>


ta funkcja porównuj ciągi nie zwracając uwagi na wielkość liter. pisane z palca może chodzić ale nie musi.
perabo
Cytat
to może spróbuj porównać ciągi

Niestety nie działa... Nic nie jest wysylane nawet gdy STATUS= cos innego niz FAIL


Mam teraz tak i też jest problem z tym wysylaniem.

  1. <?php
  2. if (!empty($_GET['status']))
  3. {
  4. if($_GET['status'] == 'FAIL')
  5. {
  6. echo 'Blad.';
  7. header("Refresh: 2; www.adres.pl");
  8. }
  9. else{
  10.  
  11. $do = $_POST['email'];
  12. $wiadomosc = 'wiadomosc';
  13.  
  14. $naglowki = 'MIME-Version: 1.0' . "\n";
  15. $naglowki .= 'Content-type: text/html; charset=iso-8859-2' . "\n";
  16. $naglowki .= 'From: mail' . "\n" . 'Reply-To: mail';
  17. $temat = 'Dzieki';
  18. echo 'Sprawdz emaila ;))';
  19. mail($do, $temat, $wiadomosc, $naglowki);
  20. }
  21. }
  22. ?>
.radex
Cytat(bim2 @ 11.05.2008, 20:42:45 ) *
3 "równa się" porównuje typy np true===false
a 2 "równa się" to porównator logiczny (dobrze napisałem?) smile.gif


Od kiedy === nie jest operatorem logicznym? Jedyną różnicą w stusunku do == jest patrzenie na typ.

2 == true

ale

2 nie jest === true

smile.gif
bim2
@up
Dlatego się spytałem czy dobrze? snitch.gif

A tak?
  1. <?php 
  2.  
  3. if(isset($_GET['status']) AND $_GET['status'] == 'FAIL')
  4. {
  5. echo 'Blad.';
  6. header("Refresh: 2; www.adres.pl");
  7. }
  8. elseif(isset($_GET['status']) AND $_GET['status'] != 'FAIL'){
  9.  
  10. $do = $_POST['email'];
  11. $wiadomosc = 'wiadomosc';
  12.  
  13. $naglowki = 'MIME-Version: 1.0' . "\n";
  14. $naglowki .= 'Content-type: text/html; charset=iso-8859-2' . "\n";
  15. $naglowki .= 'From: mail' . "\n" . 'Reply-To: mail';
  16. $temat = 'Dzieki';
  17. echo 'Sprawdz emaila ;))';
  18. mail($do, $temat, $wiadomosc, $naglowki);
  19. }
  20. ?>
perabo
bim2 - nie nie wysyła teraz wiadomości nawet gdy status= inny niż FAIL
piotrooo89
pokaż jaki masz kod? to może narazie porównaj wpisując recznie w if'a.

  1. <?php
  2. $s = 'FAIL';
  3.  
  4. if($s == 'FAIL')
  5. ?>
perabo
Ok mój kod to:

  1. <?php 
  2.  
  3.  
  4. if(isset($_GET['status']) AND $_GET['status'] == 'FAIL')
  5. {
  6. echo 'Blad';
  7. header("Refresh: 2; adres.pl");
  8. }
  9. elseif(isset($_GET['status']) AND $_GET['status'] != 'FAIL')
  10. {
  11.  
  12. $do = $_POST['email'];
  13. $wiadomosc = 'wiadomosc';
  14.  
  15. $naglowki = 'MIME-Version: 1.0' . "\n";
  16. $naglowki .= 'Content-type: text/html; charset=iso-8859-2' . "\n";
  17. $naglowki .= 'mail' . "\n" . 'Reply-To: mail';
  18. $temat = 'Dzieki';
  19. echo 'Sprawdz emaila ;))';
  20. mail($do, $temat, $wiadomosc, $naglowki);
  21. }
  22.  
  23.  
  24. ?>
piotrooo89
a może zrob tak:

  1. <?php
  2. if ( (isset($_GET['status']) AND ($_GET['status'] == 'FAIL') )
  3. ?>
perabo
Cytat
Parse error: syntax error, unexpected '{' in ... on line 6


Kod:

  1. <?php 
  2.  
  3.  
  4. if ( (isset($_GET['status']) AND ($_GET['status'] == 'FAIL') )
  5. {
  6. echo 'Blad';
  7. header("Refresh: 2; adres.pl");
  8. }
  9. elseif( (isset($_GET['status']) AND ($_GET['status'] != 'FAIL') )
  10. {
  11.  
  12. $do = $_POST['email'];
  13. $wiadomosc = 'wiadomosc';
  14.  
  15. $naglowki = 'MIME-Version: 1.0' . "\n";
  16. $naglowki .= 'Content-type: text/html; charset=iso-8859-2' . "\n";
  17. $naglowki .= 'mail' . "\n" . 'Reply-To: mail';
  18. $temat = 'Dzieki';
  19. echo 'Sprawdz emaila ;))';
  20. mail($do, $temat, $wiadomosc, $naglowki);
  21. }
  22.  
  23.  
  24. ?>


Nie wiem jakim cudem, ale zmieniłem wszystko z $_GET['status'] na $_POST['status'] i teraz wszystko działa, jednakże dzięki za pomoc.
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.