Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Rzecz niebywała - zeruje się sama jedna zmienna w tablicy
Forum PHP.pl > Forum > Przedszkole
alex19
Mam dwa pliki - jeden z nich to prosta konfiguracja, która wygląda tak (dane oryginalne)
  1. return array(
  2. 'host' => 'www.poczta.fm',
  3. 'port' => '25',
  4. 'smtpauth' => true,
  5. 'username' => 'user@poczta.fm',
  6. 'password' => 'secret',
  7. 'replyto' => 'user@poczta.fm',
  8. 'from' => 'user@poczta.fm',
  9. 'fromname' => 'Nadawca',
  10. 'testmail' => "czlowiek@domena.pl",
  11. 'subject' => 'Cennik',
  12. 'body' => "Witam!\r\n
  13. W nawiązaniu do rozmowy telefonicznej przesyłam w załączniku cennik.",
  14. 'footer' => "\r\n\n------\r\n
  15. Z poważaniem,\r\n
  16. 00-123 Gdańsk\r\n
  17. ul. Kartuska xxxx\r\n
  18. telefon 58 123 4567",
  19. );


oraz drugi plik do którego dołączamy konfigurację
  1. $mail_cfg = include 'config/mail.cfg.inc.php';
  2.  
  3. if($mail_cfg['testmail']=""){
  4. $maddress = getEmail($id_klient); //jak jest ustawiony taki mail w konfigu to maile z bazy sa ignorowane i wysylka idzie ZAWSZE na maila testowego
  5. }else{ $maddress = $mail_cfg['testmail'];}
  6. echo $maddress;
  7. var_dump($mail_cfg);
  8. var_dump($maddress);


Zeby było interesująco to okazuje się, że var_dump zwraca coś takiego:
CODE
array(12) { ["host"]=> string(13) "www.poczta.fm" ["port"]=> string(2) "25" ["smtpauth"]=> bool(true) ["username"]=> string(14) "user@poczta.fm" ["password"]=> string(6) "secret" ["replyto"]=> string(14) "user@poczta.fm" ["from"]=> string(14) "user@poczta.fm" ["fromname"]=> string(7) "Nadawca" ["testmail"]=> string(0) "" ["subject"]=> string(6) "Cennik" ["body"]=> string(87) "Witam! W nawiązaniu do rozmowy telefonicznej przesyłam w załączniku cennik." ["footer"]=> string(109) " ------ Z poważaniem, 00-123 Gdańsk ul. Kartuska xxxx telefon 58 123 4567" } string(0) ""


Teraz kluczowe pytanie - co się dzieje z wartościa "testmail"?questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif
vonski
Przypisujesz do $mail_cfg['testmail'] pustego stringa:

  1. if($mail_cfg['testmail']="")


to co się dziwisz? smile.gif
alex19
Dobra, nie mam pytań facepalmxd.gif

Patrze na to od 2h i takiej bzdury nie zauważyłem. Wstyd najwyższego poziomu sad.gif

Dzięki!
Sephirus
Jest na to sposób - zamień kolejność zmiennych w IFie - to dobra praktyka.

  1. if("" == $mail_cfg['testmail']) {}


w ten sposób jak dasz "=" to Ci krzyknie od razu błąd wink.gif
alex19
Ooooo! Bardo cenna uwaga. Dzięki! smile.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.