Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: skrypt subskrypcji
Forum PHP.pl > Forum > Przedszkole
nesk
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ę
wipo
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
}
Setesh
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 ;-)
nesk
Cytat(wipo @ 2.10.2006, 15:06:18 ) *
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 happy.gif guitar.gif
wipo
Wiem że działa.
I nawet Ci powiem że powinno działać szybciej bo wyciagasz tylko to co trzeba
nospor
Cytat
I nawet Ci powiem że powinno działać szybciej bo wyciagasz tylko to co trzeba
No to ja pokaze jeszcze szybciej smile.gif
Zakladamy uniqa na mail. Nastepnie bez sprawdzania wkladamy do bazy. jesli juz taki email istnieje, to Mysql rzuci odpowiednim bledem i juz.
wipo
Też prawda, ale nie wnikałem w tabele w bazie
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.