if else in PHP oder Switch

Dieses Thema im Forum "Programmieren" wurde erstellt von stephan2000, 3. November 2003.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. stephan2000

    stephan2000 Kbyte

    Registriert seit:
    7. Februar 2002
    Beiträge:
    198
    Hi,
    ich versende mails mit einem PHP (mysql gestütztem) script. Das Script ist ungefähr so
    while($row = mysql_fetch_array($result))
    {
    $anrede = $row["anrede"] ;
    $e_mail = $row["e_mail"] ;
    $vorname = $row["vorname"] ;
    $name = $row["name"] ;
    $nett = $row["nett"] ;
    $subject = "hier ist Ihr Newsletter";

    switch ($nett = 4 )
    {
    case ja: include ("mailinhalt_nett.php4"); break;
    case nein: include ("mailinhalt_doof.php4"); break;
    }

    mail($e_mail,$subject,$message);
    }
    Wie man sieht sollen im Falle netter Menschen die die Datei "mailinhalt_nett.php4" eingebunden werden und im anderen Falle die nicht so nette. In den Dateien steht dann hinter $message jeweils ein anderer Text. Leider kann ich immer nur eine Datei einbinden, er nimmt immer die erste, egal was da steht. Woran kann das liegen. Mit If else ist es genau das gleiche. Kann man include hierfür nicht verwenden?
    Wer weiß Rat?
    :aua:
     
  2. stephan2000

    stephan2000 Kbyte

    Registriert seit:
    7. Februar 2002
    Beiträge:
    198
    Jau, ist mir gar nicht aufgefallen. Hatte das Problem dann noch Gestern Abend in letzter Minute gelöst, und zwar so
    switch ($nett )
    {
    case nett: include ("mailinhalt_nett.php4"); break;
    case doof: include ("mailinhalt_doof.php4"); break;
    }

    Aber Danke für den schnellen Hinweis.
    Stephan
     
  3. kalweit

    kalweit Hüter der Glaskugel

    Registriert seit:
    18. April 2000
    Beiträge:
    31.487
    ...deine Syntax ist schlichtweg falsch...

    Auf Gleichheit wird in PHP mit "==" geprüft. Bei der switch-Initialisierung ist mir zudem nicht bekannt, einen Vergleich ausführen zu können, man definiert an der Stelle nur die Variable und die eigentlichen Vergleiche finden in der case-Anweisung statt.

    switch ($nett)
    {
    case "Wert von $nett für gut" : gut; break;
    default : doof; break;
    }

    Gruss, Matthias
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen