![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 6.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam od jakiegoś czasu "bawie" się php, postanowiłem przerobić skrypt subskrypcji flymail z textowej na mysqlową i napotkałem problem z którym nie wiem jak sobie poradzić. A mianowicie z istniejącymi mailami w bazie. Otóż kiedy wpisuje jakikolwiek email, przykładowo: subskrypcja@o2.pl to wszystko jest ok wlatuje do bazy i sobie tam siedzi, ale kiedy wpisuje ten sam mail jeszcze raz (jeden po drugim) wywala błąd że juz jest taki mail w bazie - czyli wszystko OK, tak jak powinno być! Problem pojawia się wtedy gdy po subskrypcja@o2.pl wpisuje inny email a potem znowu ten pierwszy - zaczynają się dublować maile w bazie
podam przykład krótki: wpisuje subskrypcja@o2.pl --> w bazie id1 email:subskrypcja@o2.pl wpisuje tralala@wp.pl --> w bazie id2 email:tralala@wp.pl wpisuje subskrypcja@o2.pl --> w bazie id3 email:subskrypcja@o2.pl oto część kodu odpowiedzialna za to: Cytat $result=mysql_query("SELECT * FROM subscribe"); while ($row = mysql_fetch_array($result)) { $id = $row["id"]; $email2 = $row["mail"]; } if($email2==$email) { include("errors/mail_exists.php"); exit; } $email to email który jest wpisywany w <input> czy ktoś wie gdzie jest problem? z góry dziękuję |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj tak
Kod $result=mysql_query("SELECT * FROM subscribe where mail='".$email."'");
if (mysql_num_rows($result)==0){ //wpisz } else { //ten email juz jest } |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 102 Pomógł: 0 Dołączył: 2.10.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
na php sie tak nie znam ani na sql ale....
zrob obslógę błędów - chodzi mi o sprawdzanie czy taki email juz jest w baczie danych (przejedziesz sie po rekordach i sprawdzisz if(podany_email == email_w_bazie_na_pozycji[x]) echo "Podany email juz istnieje w bazie danych"; else echo "nie ma w bazie jeszcze takiego adresu email"; to moj sposob na dzien dobry ;-) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 6.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj tak Kod $result=mysql_query("SELECT * FROM subscribe where mail='".$email."'"); if (mysql_num_rows($result)==0){ //wpisz } else { //ten email juz jest } wiesz co Ci powiem? to działa (IMG:http://forum.php.pl/style_emoticons/default/happy.gif) (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Wiem że działa.
I nawet Ci powiem że powinno działać szybciej bo wyciagasz tylko to co trzeba |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat I nawet Ci powiem że powinno działać szybciej bo wyciagasz tylko to co trzeba No to ja pokaze jeszcze szybciej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zakladamy uniqa na mail. Nastepnie bez sprawdzania wkladamy do bazy. jesli juz taki email istnieje, to Mysql rzuci odpowiednim bledem i juz. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 856 Pomógł: 19 Dołączył: 30.08.2005 Skąd: 100lica Ostrzeżenie: (0%) ![]() ![]() |
Też prawda, ale nie wnikałem w tabele w bazie
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 05:46 |