Webdesign in Siegen

If- else probleme *verwirrt*

Fragen zum Thema PHP können hier gestellt werden

Moderator: Basti

If- else probleme *verwirrt*

Beitragvon faN am 04.04.2007, 22:31

Hy leute ich hab schon wider mal ein problem mit php codes :p.

Also das Problem ist folgendes:

Es gibt ein bestehendes Formular das am ende eine einverständniserklärung hat mit 2 radiobuttons (einverstanden , Nicht einverstanden)

Der besucher soll eine von beiden auswählen. Wenn er einverstanden auswählt und absendet soll die mail gesendet werden und eine info mit versendet ....... angezeigt werden.

Wählt er jedoch nicht einverstanden soll eine fehlermeldung kommen.

Hier mal der Code :


if(!mail("sendees@hotmail.com.", "Antrag", $mail))
{
echo "Der Antrag konnte nicht versandt werden. Bitte setzen Sie sich stattdessen direkt mit
sendees@hotmail.com in Kontakt. Danke!";
}
}
else
{
echo "$goto Einverständniserklärung nicht akzeptiert. Dies ist jedoch erforderlich um ihren Antrag abzusenden!";
}
if (!mail):
echo "<a>Zurück zur Startseite</a>";
else:
echo "<a>Zurück zur Startseite</a>";

endif;


?>



Bitte um eure hilfe bevor ich verzeifle :/ .
Mfg
Benutzeravatar
faN
Mitglied
 
Beiträge: 20
Registriert: 07.01.2007, 20:54

Beitragvon Basti am 04.04.2007, 22:51

Irgendwie fehlt mir da grad der Zusammenhang zwischen dem was du erklärt hast und deinem Code.

In deinem Code prüfst du doch lediglich, ob die Funktion mail() erfolgreich war, aber nicht ob irgendetwas in einem Formular aktiviert wurde?

Dazu müsstest du doch die entsprechenden Felder abfragen, also so etwas in der Art:

Code: Alles auswählen
if($_POST['agb_abfrage'] == 'einverstanden')
{
echo "Mail wurde verschickt!";
}

else {
echo "Um die Mail zu verschicken müssen die AGB akzeptiert werden!";
}
Benutzeravatar
Basti
Moderator
 
Beiträge: 1974
Registriert: 15.06.2006, 17:33
Wohnort: Rheinbreitbach

Beitragvon faN am 04.04.2007, 22:57

Und wider mal sf Design :)

Jo thx hat funktioniert :) . Alter fuchs :p
Benutzeravatar
faN
Mitglied
 
Beiträge: 20
Registriert: 07.01.2007, 20:54

Beitragvon Manuel am 05.04.2007, 00:31

Bei vielen Fehlerabfragen lohnt es sich übrigens, ein Array anzulegen, in das du die Fehler schreibst und dann prüfst ob dieses leer ist. Wenn ja, wird der Vorgang abgeschlossen, wenn nein gibst du dieses Array mit einer while-Schleife aus. So kannst du sehr einfach beliebige Fehlerabfragen schachteln, hinzufügen usw. :)

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 9114
Registriert: 10.12.2004, 19:29
Wohnort: Asbach

Beitragvon faN am 05.04.2007, 14:34

Hallo ja danke für den tip. Kannst du mir mal ein Beispiel zegen ? damit ich mal bissle reinfinden kann ?

<-------- php noob ^^

Thx
Benutzeravatar
faN
Mitglied
 
Beiträge: 20
Registriert: 07.01.2007, 20:54

Beitragvon Manuel am 05.04.2007, 15:01

Na klar:

Code: Alles auswählen
if ($irgendwasstimmthiernicht == true)
{
  $err[] = "Hier stimmt was nicht!";
}

if (empty($err))
{
  // Mache das, was das System ohne Fehler tun soll
}
elseif (!empty($err))
{
  foreach($err as $error)
    echo '<span style="color:red;">'.$error.'</span><br />';
}


Du kannst bei diesem Code also so viele Fehlermeldungen wie du willst in das Array reinschreiben und testest dann einfach, ob das Array leer ist. Wenn nein, gibst du entsprechend alle Fehlermeldungen aus. Somit hast du keine geschachtelten Fehlerabfragen.

Lg,
Manuel ;-]
Benutzeravatar
Manuel
Site Admin
 
Beiträge: 9114
Registriert: 10.12.2004, 19:29
Wohnort: Asbach

Beitragvon faN am 05.04.2007, 22:22

ja Danke sehr :) Werde es bei der nächsten gelegenheit gleich mal ausprobieren ^^ mfg David
Benutzeravatar
faN
Mitglied
 
Beiträge: 20
Registriert: 07.01.2007, 20:54


Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast