Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Porównanie maili
Forum PHP.pl > Forum > Przedszkole
Pcbecaw
Mam porównywanie haseł i wszystko jest ok, ale jednocześnie chciałbym sprawdzić, czy wpisane maile są takie same (tak jak hasła):
  1. <?php
  2.  
  3. //Sprawdzenie, czy formularz został wysłany
  4. if (isset($_POST['submit']))
  5. {
  6. //Jeśli tak, to sprawdzenie, czy wpisane dane są puste
  7. if (empty($_POST['imie']) || empty($_POST['haslo']) || empty($_POST['vhaslo']) || empty($_POST['email']) || empty($_POST['vemail'])){
  8.  
  9. //Jeśli tak, to informacja o tym, że nie wypełniono wszystkich pól formularza
  10. echo 'Nie wypełniono wszystkich pól formularza.';
  11.  
  12. }
  13. //Jeśli nie są puste, to sprawdzenie, czy wpisane hasła są takie same
  14. if ($_POST['haslo']==$_POST['vhaslo']){
  15.  
  16. //Jeśli są takie same, to dalsze działanie
  17. //DZIAŁANIE//
  18. }
  19. //Jeśli nie są takie same, to informacja o tym
  20. else{
  21. echo 'Wpisane hasła nie są jednakowe';
  22. }}
  23. ?>


Kombinowałem coś z elseif, ale coś nie wychodzi. Jak to zrobić?
Btw. jestem w trakcie kursu i pytam o niezbyt jasne dla mnie rzeczy.
Daiquiri
Piszesz o konstrukcji if (hasła są takie same) elseif (maile są takie same), natomiast odnoszę wrażenie, że chcesz postawić warunek w którym zgadzałyby się zarówno hasła jak i maile. Powinieneś zatem do warunku dodać spójnik &&, if (hasła są takie same && maile są takie same).

Pcbecaw
Właśnie też o tym myślałem, jednak to nie będzie chyba dobre rozwiązanie, bo trzeba napisać, co jest błędne, czy maile, czy hasła. Złączenie tego uniemożliwi to. Z tym elseif próbowałem, tylko nie wiem jak to do końca zrobić, bo szczerze powiem, że nie za bardzo to rozumiem jeszcze:
  1. if ($_POST['haslo']==$_POST['vhaslo']){
  2.  
  3. //Jeśli są takie same, to dalsze działanie
  4. //DZIAŁANIE//
  5. }else{
  6. echo 'Wpisane hasła nie są jednakowe';
  7. }
  8. elseif ($_POST['email']==$_POST['vemail']){
  9. }
  10. else {
  11. echo 'Wpisane maile nie są jednakowe';
  12. }

W jaki sposób to zmodyfikować (nie proszę o gotowca, tylko wskazówki, bo zależy mi na tym, abym doszedł do tego sam).
Pozdrawiam.
Daiquiri
Pamiętaj, że warunki możesz zagnieżdżać, jeżeli jeden zostanie spełniony, wewnątrz może znaleźć się drugi wink.gif.
Pcbecaw
  1. if ($_POST['haslo']==$_POST['vhaslo']){}
  2. elseif ($_POST['email']==$_POST['vemail']){}else {echo'maile złe';}

nie dość, że nie działa, to jeszcze nie ma możliwości pokazania, że hasła są złe. Proszę o troszkę jaśniejsze wskazówki wink.gif
Daiquiri
  1. if (warunek 1) {
  2. if (warunek 2) {
  3. // oba warunki spełnione!
  4. } else {
  5. // wystąpił błąd z warunkiem 2
  6. }
  7. } else {
  8. // wystąpił błąd z warunkiem 1
  9. }
Pcbecaw
  1. if ($_POST['haslo']==$_POST['vhaslo']) {
  2. if ($_POST['email']==$_POST['vemail']) {
  3. // oba warunki spełnione!
  4. } else {
  5. echo 'Podane e-maile nie są jednakowe';
  6. }
  7. } else {
  8. echo 'Podane hasła nie są jednakowe';
  9. }

Dziękuję bardzo i jeszcze jedno 'dopytanie': Czy jest możliwe dodanie 'echa', jeśli oba warunki nie są spełnione? np. Hasła i emaile różnią się.

nieaktualne wink.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.