Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]system rejestracji - problem
Forum PHP.pl > Forum > Przedszkole
zomb
Witam,
Tworze prosty system rejestracji użytkowników

Mam kilka problemów:
1) checkmail nie działa
2) gdy nie wypełni sie wszystkich pól rekord i tak zostanie dodany
3) co zrobić aby po poprawnej rejestracji wyświetlało się tylko 'konto zostalo utworzone' bez $main

Demo: http://zomb.zproject.pl/adduser.php

Za pomoc z góry dziękuje
maxil
1. do sprawdzenia poprawnosci emaila użyj:

  1. filter_var($email, FILTER_VALIDATE_EMAIL);


$email jest to email do sprawdzenia poprawności

2. sprawdzaj warunkiem if czy jakieś dane zostały podane przykład:

  1. if (isset($_POST['cos']) && isset($_POST['nacos']))
  2. {
  3. //rejestracja
  4. }
  5. else
  6. {
  7. echo 'wszystkie dane nie zostały podane';
  8. }


3. również warunek if przykład:
  1. if (isset($_POST['submited']))
  2. {
  3. //rejestracja
  4. }
  5. else
  6. {
  7. //formularz
  8. }
zomb
1) gdy robie:
  1. if (filter_var($email, FILTER_VALIDATE_EMAIL)) {

nie bardzo to dziala, caly czas wyskakuje ze email jest zly

2) przeciez mam:
  1. if (isset($_POST['login']) and isset($_POST['password']) and isset($_POST['password2']) and isset($_POST['email'])) {


3) tez chyba nie jest trafne ;/
maxil
bo filter_var zrób w funkcji
  1. function filterValidateEmail($email)
  2. {
  3. return filter_var($email, FILTER_VALIDATE_EMAIL);
  4. }


a dlaczego nie jest trafne?
jak ci sie nie podoba takie to zrób:

  1. if (empty($_POST['login']) or empty($_POST['password']) or empty($_POST['password2']) or empty($_POST['email']))
  2. {
  3. echo 'nie podano wszystkich wymaganych danych.';
  4. }
  5. else
  6. {
  7. //rejestracja
  8. }
zomb
ok, już wszystko działa oprócz sprawdzania poprawności tego maila, mógłbyś mi to 'wmontować' do skryptu?
http://wklej.org/hash/dc200fdc6d0/

pomoże ktoś ze zrobieniem tego checkMail ?
kielich
słuchaj zrób sobie to w bardzo przyjemny sposób mianowicie JS
czyli:
W head daj :
Kod
<script language="javascript">
function SprawdzFormularz(f) {
if (f.email.value=='') { alert('Nie podałeś maila'); return false; }
if ( ((f.email.value.indexOf('@',1))==-1)||(f.email.value.indexOf('.',1))==-1 ) { alert('Adres email jest zły.'); return false; }
else { return true; } }
</script>


no i formularz np.
Kod
<form action="kontakt.php" method="POST" onsubmit="return SprawdzFormularz(this)">
...
...
<input type="text" name="email" />
..
..
</form>
maxil
pozwoliłem sobie nieco zmodyfikować twój kod oto on:

skrypt który dałeś:
http://wklej.org/id/283628/

funkcja do sprawdzania maila:
http://wklej.org/id/283620/

zapisz ten plik jako User.php
po return na końcu dodaj ;
zapomniałem wpisać smile.gif
Rysh
  1. if (sha1(md5($_POST['password'])) == $_POST['password2']) {
  2. //to sie nie wykona ;)
  3. }

password - przepuszczone przez md5 i sha1
password2 - czysty tekst
maxil
to password2 również zakoduj tak samo albo sprawdź przed zakodowaniem czy oba hasła są takie same.
wykaż trochę własnej inicjatywy nie czekaj aż ci ktoś napisze jak to zrobić
zomb
zrobiłem
  1. if ($_POST['password'] == $_POST['password2'])

i jest dobrze..
co do mojej inicjatywy to nigdy nie robiłem nic z funkcjami wiec nie miałem zielonego pojęcia jak to zrobić.. teraz już wiem sprawa zamknięta..
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.