Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Poprawne wpisywanie emaila w formularzu PHP
richardoone
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.03.2015

Ostrzeżenie: (0%)
-----


Z racji tego że jest to mój pierwszy post - Witam Wszystkich.
Czy ktoś mógłby mi pomóc przerobić poniższy kod, aby wartość wpisywanego w pole User tesktu byla emailem(chodzi o poprawność znaków xxxxxxx@xxxxxx.xxx). Czyli aby system sprawdzal czy jest prawidlowo napisany email, jeśli nie to komunikat, jeśli tak to dalej tak jak jest w kodzie.


<?php
session_start();
include "inc/db.php";
$db = new db();

$user = $db->real_escape($_POST['user']);
$pass = $db->real_escape($_POST['pass']);

if(empty($user)){
header('Location: meineanzeigen.php?fail=user');
}
elseif(empty($pass)){
header('Location: meineanzeigen.php?fail=pass');
}else{
$db->query('INSERT INTO user SET
email = "'.$user.'",
pass = "'.md5($pass).'"
');

header('Location: meineanzeigen.php?reg=ok');
}

?>
Go to the top of the page
+Quote Post
Boshi
post
Post #2





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

Ostrzeżenie: (0%)
-----


http://php.net/manual/en/filter.examples.validation.php
albo wyrażenia regularne.
Go to the top of the page
+Quote Post
richardoone
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.03.2015

Ostrzeżenie: (0%)
-----


Dzieki Boshi. Juz tego próbowalem bo przewaliłem całe google w poszukiwaniu rozwiązania. Ale ciągle wyskakiwała mi pusta strona. Jak dodać tą walidację do kodu aby po sprawdzeniu przechodził dalej tak jak teraz w kodzie?
Go to the top of the page
+Quote Post
Boshi
post
Post #4





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

Ostrzeżenie: (0%)
-----


  1.  
  2. <?php
  3. include "inc/db.php";
  4. $db = new db();
  5.  
  6. $user = $db->real_escape($_POST['user']);
  7. $pass = $db->real_escape($_POST['pass']);
  8.  
  9. if(empty($user) ){
  10. header('Location: meineanzeigen.php?fail=user');
  11. }
  12.  
  13. else if (!filter_var($user, FILTER_VALIDATE_EMAIL)) {
  14. echo 'bledny email';
  15. }
  16. elseif(empty($pass)){
  17. header('Location: meineanzeigen.php?fail=pass');
  18. }else{
  19. $db->query('INSERT INTO user SET
  20. email = "'.$user.'",
  21. pass = "'.md5($pass).'"
  22. ');
  23.  
  24. header('Location: meineanzeigen.php?reg=ok');
  25. }
  26.  
  27. ?>
  28.  


Ten post edytował Boshi 30.03.2015, 21:46:03
Go to the top of the page
+Quote Post
richardoone
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.03.2015

Ostrzeżenie: (0%)
-----


Niestety też nie działa. Bardzo ciekawy skrypt, ale po mojemu zamiast $user powinno byc $email, i może wtedy te funkcje by działały.
A jak dopisać do $user aby tylko określone znaki mogły być wpisane- czyli tak jak email (xxxxxx@xxxxx.xx)
Go to the top of the page
+Quote Post
Boshi
post
Post #6





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

Ostrzeżenie: (0%)
-----


Jaka zmienna email? nigdzie jej nie odczytujesz z formularza. Skoro sprawdzasz inputa user to user, dlatego funkcja pobiera ten parametr i sprawdza. Pokaż formularz i napisz co dokłądnie nie działa bo jak na moje to powinno.


Sprawdź co zawiera user var_dump($user);
Skoro chcesz inaczej to zainteresuj się wyrażeniami regularnymi.

Ten post edytował Boshi 30.03.2015, 22:18:42
Go to the top of the page
+Quote Post
richardoone
post
Post #7





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 30.03.2015

Ostrzeżenie: (0%)
-----


Teraz to dziala tylko w odwrotna strone. Po wpisaniu jakiegokolwiek emaila przy rejestracji pokazuje echo że jest nieprawidłowy. A po wpisaniu ciaągu znaków przechodzi dalej. Mze zdałobz egzamin użycie preg_match? var_dump jest NULL
Struktura user wygląda tak:
http://zapodaj.net/015fd1c5a63f6.png.html

Dzieki Boshi.Jest ok. Dałem:

$emailErr = "Invalid email format";
zamiast echo.
Tylko mam jeszcze pytanie. Czy da się wyświetlić wiadomość o błędnym emailu z bazy danych w wyskakującym okienku? (IMG:style_emoticons/default/smile.gif)


Ten post edytował richardoone 31.03.2015, 20:10:04
Go to the top of the page
+Quote Post
com
post
Post #8





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


Da sie tylko sobie do niego te wiadomosc przekaz (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.09.2025 - 21:46