syntax error, unexpected 'if'
Achot
- php
0 Matthias Apsel0 Achot
1 Christian Kruse0 Tabellenkalk0 Achot
1 dedlfix0 pl
Hallo,
ich baue mir eine Mail zusammen und möchte gerne nur die Felder haben, wo auch etwas drin steht, da ich sonst zu große Lücken in der Mail habe.
$data['adresse'] =
$username . "<br>"
if (strlen($name) > 0):
. $name . "<br>"
endif;
if (strlen($vorname) > 0):
. $vorname . "<br>"
endif;
. $strasse . "<br>"
. $plz . " " . $ort;
Wenn ich dieses so mache, erhalte ich folgende Meldung:
Parse error: syntax error, unexpected 'if' (T_IF)
wie kann ich sonst meine Mail zusammen bauen?
Hallo Achot,
es fehlt ein Semikolon.
Bis demnächst
Matthias
Hallo,
du meinst hinter dem jeweiligen "<br>" ? Habe ich versucht, Fehlermeldung bleibt.
Hallo Achot,
$data['adresse'] = $username . "<br>" if (strlen($name) > 0): . $name . "<br>" endif; if (strlen($vorname) > 0): . $vorname . "<br>" endif; . $strasse . "<br>" . $plz . " " . $ort;
Das kannst du so nicht machen. Bevor du ein if
einleitest, musst du die Verknüpfung beenden und im if
dann eine neue beginnen, etwa so:
$data['adresse'] = $username . "<br>";
if (strlen($name) > 0) {
$data .= $name . "<br>";
}
if (strlen($vorname) > 0) {
$data .= $vorname . "<br>";
}
$data .= $strasse . "<br>" . $plz . " " . $ort;
LG,
CK
Hallo,
etwa so:
Und wenn man dann noch mit den Variablennamen nicht durcheinander kommt, kann das sogar klappen…
Gruß
Kalk
Hallo Tabellenkalk,
etwa so:
Und wenn man dann noch mit den Variablennamen nicht durcheinander kommt, kann das sogar klappen…
Die Wortwahl „etwa” war durchaus Absicht 😉 ein wenig muss dem Leser ja auch zu tun verbleiben. 😜
LG,
CK
Hallo,
danke dir für deine Hilfe, musste dein Code etwas ändern:
ALT:
$data['adresse'] = $username . "<br>";
if (strlen($name) > 0) {
$data .= $name . "<br>";
}
if (strlen($vorname) > 0) {
$data .= $vorname . "<br>";
}
$data .= $strasse . "<br>" . $plz . " " . $ort;
Neu:
$data['adresse'] = $username . "<br>";
if (strlen($name) > 0) {
$data['adresse'] .= $name . "<br>";
}
if (strlen($vorname) > 0) {
$data['adresse'] .= $vorname . "<br>";
}
$data['adresse'] .= $strasse . "<br>" . $plz . " " . $ort;
Deiner hat zu einer Fehlermeldung geführt. Hab das ['adresse'] noch mit angehängt, dann kommen die Daten richtig bei mir an.
Tach!
Wenn ich dieses so mache, erhalte ich folgende Meldung:
Parse error: syntax error, unexpected 'if' (T_IF)
wie kann ich sonst meine Mail zusammen bauen?
Indem du gültige Syntax schreibst. Du kannst nicht einfach einen String anfangen und dann mit Control-Statements (if etc.) was anderes machen und dann den Ausdruck, der den String zusammenbaut fortsetzen. Du musst die Operationen jeweils einzeln und syntaktisch vollständig notieren.
Strings erweitern kann man zum Beispiel so:
$foo = $foo . 'bar';
oder so:
$foo .= 'bar';
dedlfix.
Du könntest sowas machen:
$data = sprintf(
"%s\n%s\n%s",
$username,
strlen($name) ?
$name : '',
$vname ? $vname : ''
);
Und bei dieser Gelegenheit mal über ein Templatesystem nachdenken.
MfG