Praat mee over van alles en nog wat!
Forumregels
Dit forum is voor alle zinnige gesprekken buiten phpBB om. Discussies en gesprekken over interessante onderwerpen.
Een nieuw onderwerp moet..:
- uiteraard voldoen aan de algemene voorwaarden
- niet passen in de gewone supportfora
- interessante zijn voor het overgrote deel van onze gebruikers
- een neutrale of positieve ondertoon hebben
- anders zijn dan bestaande onderwerpen
-
Speedyboy
- Berichten: 69
- Lid geworden op: 12 mei 2004, 21:21
- Locatie: Markegem
-
Contacteer:
Bericht
door Speedyboy » 13 okt 2004, 20:36
Code: Selecteer alles
<?
if($action=="subscribe")
{
if($aanafmelden=="Aanmelden")
{
if(!eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$email)){
header("location:$phpself?error=1");exit;
}
else{
$file=file("emaillist.txt");
for($i=0;$i<count($file);$i++)
{
if(eregi("$email",$file[$i]))
{
header("location:$phpself?error=2");exit;
};
};
$bestand=fopen("emaillist.txt","a");
fwrite($bestand,"$email\n");
fclose($bestand);
mail("$email","Succesvol aangemeld","Je bent succesvol aangemeld bij de nieuwsbrief!");
header("location:$phpself?error=3");exit;
};
}
elseif($aanafmelden=="Afmelden")
{
if(!eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$email)){
header("location:$phpself?error=1");exit;};
$bestand=file("emaillist.txt","r");
for($i=0;$i<count($bestand);$i++)
{
if(!eregi("$email",$bestand[$i])){
$list.=$bestand[$i];
};
};
$bestand=fopen("emaillist.txt","w");
fwrite($bestand,"$list");
fclose($bestand);
mail("$email","Succesvol afgemeld","Je bent succesvol afgemeld bij de nieuwsbrief!");
header("location:$phpself?error=4");exit;
};
}
else{
if($error==1)
{
echo"Het email adres is niet goed!";
}
elseif($error==2){
echo"Je bent al aangemeld!";
}
elseif($error==3){
echo"Je bent succesvol aangemeld!";
}elseif($error==4){
echo"Je bent succesvol afgemeld!";
};
?>
Wat is er mis aan deze php code?
De fout is:
fout op regel *** = laatste regel waar er </html> staat.
Aan de html ligt het niet, want zonder dat scriptje werkt het wel.
Hulp is welkom :thumb:
-
mosymuis
- Berichten: 6940
- Lid geworden op: 05 feb 2003, 14:00
- Locatie: Amsterdam
-
Contacteer:
Bericht
door mosymuis » 13 okt 2004, 21:59
Heb je dit zelf geschreven? Het overzicht is totaal kwijt, exit na een header redirect regel is nutteloos en een puntkomma na een accollade } is niet nodig.
De fout kwam door een vergeten if-einde. Zo is hij weg, als ik de indeling goed begrepen heb klopt hij zo:
Code: Selecteer alles
<?
if( $action=="subscribe" )
{
if( $aanafmelden=="Aanmelden" )
{
if( !eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$email) )
{
header("location:$phpself?error=1");
}
} else {
$file=file("emaillist.txt");
for( $i=0;$i<count($file);$i++ )
{
if( eregi("$email",$file[$i]) )
{
header("location:$phpself?error=2");
}
};
$bestand=fopen("emaillist.txt","a");
fwrite($bestand,"$email\n");
fclose($bestand);
mail("$email","Succesvol aangemeld","Je bent succesvol aangemeld bij de nieuwsbrief!");
header("location:$phpself?error=3");
}
} elseif( $aanafmelden=="Afmelden" ) {
if( !eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+",$email) )
{
header("location:$phpself?error=1");
}
$bestand=file("emaillist.txt","r");
for( $i=0;$i<count($bestand);$i++ )
{
if(!eregi("$email",$bestand[$i]))
{
$list.=$bestand[$i];
}
}
$bestand=fopen("emaillist.txt","w");
fwrite($bestand,"$list");
fclose($bestand);
mail("$email","Succesvol afgemeld","Je bent succesvol afgemeld bij de nieuwsbrief!");
header("location:$phpself?error=4");
} else {
if( $error==1 )
{
echo"Het email adres is niet goed!";
} elseif( $error==2 ) {
echo"Je bent al aangemeld!";
} elseif( $error==3 ) {
echo"Je bent succesvol aangemeld!";
} elseif( $error==4 ) {
echo"Je bent succesvol afgemeld!";
}
}
?>
-
Speedyboy
- Berichten: 69
- Lid geworden op: 12 mei 2004, 21:21
- Locatie: Markegem
-
Contacteer:
Bericht
door Speedyboy » 17 okt 2004, 17:15
Bedankt, het werkt :thumb: !