1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

if else in PHP oder Switch

Discussion in 'Programmieren' started by stephan2000, Nov 3, 2003.

Thread Status:
Not open for further replies.
  1. stephan2000

    stephan2000 Kbyte

    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

    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

    ...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
     
Thread Status:
Not open for further replies.

Share This Page