Mój kod:
<?php // łaczymy sie z baza danych // jezeli istnieja zmienne superglobalne nick i haslo { { $empty .= 'Pole "imię" nie zostało wypełnione.<br />'; } { $empty .= 'Pole "nick" nie zostało wypełnione.<br />'; } { $empty .= 'Pole "hasło" nie zostało wypełnione.<br />'; } { $empty .= 'Pole "e-mail" nie zostało wypełnione.<br />'; } // tu sie razem pokazuja komunikaty o niewypełnieniu pol } else // jezeli jest wszystko dobrze to dodaje do bazy te wpisy z formularza { $zapytanie = mysql_query ( "INSERT INTO `users` (`id`, `imie`, `nick`, `haslo`, `mail`) values ('0', '{$_POST['imie']}', '{$_POST['nick']}', '{$_POST['haslo']}', '{$_POST['email']}')"); /////// /////////////////// ///// tu mam to sprawdzanie czy user juz jest w bazie $result = mysql_query("SELECT `nick`, `mail` FROM `users` WHERE nick = '".$_POST['nick']."' OR mail = '".$_POST['email']."'"); /// jezeli nie to pokazuje dalsza czesc kodu if (!$result){ /////////////// //////////////////////// ////jezeli jest to pokazuje formularz if ($zapytanie) { echo 'Rejestracja przebiegła pomyślnie.<br /> Kliknij <a href="index.php">tutaj</a>, aby powrócić na stronę główną.'; } } } //// a jezeli zapytanie sie nie wykona i sie nie odda do bazy to tez pokazje sie for
mularz if (! $zapytanie) { echo'UWAGA! Wszystkie pola muszą zostać wypełnione!<br><br> <form action="rejestracja_dodaj.php" method="post"> Imię: <input type="text" name="imie"><br> Nick: <input type="text" name="nick"><br> Hasło: <input type="password" name="haslo"><br> E-mail: <input type="text" name="email"><br><br> <input type="submit" value="Rejestruj!"><br><br><br>'; } /////////////////////// /////////////// } else { } ///////////////////// ?>
Najpierw pokazuje się komunikat: Podany nick lub e-mail już istnieje.
A powinien się pokazywać formularz, i dopiero po sprawdzeniu czy taki user istnieje powinien się ten komunikat pokazać, jak nie istnieje to go do bazy dodaje.. Jak pozmieniać kolejność aby kolejność była dobra?