Zitat:
Zitat von SanPedro
ich möchte mir eine Klasse für ein Anmeldeformular erstellen habe aber Probleme mit der heredoc Syntax.
|
http://www.php.net/manual/en/languag...syntax.heredoc
Zitat:
PHP-Code:
<?php class anmeldeform{ private $action; #-------------------------vvvvvvvvv private $form= <<<Überschrift
|
Was soll der Umlaut im open identifier? Auch wenns funktionieren sollte, halte Dich besser an die Namenskonventionen.
Zitat:
PHP-Code:
<form action="$this->action" method="post">
|
Sowas ist mit oder ohne Heredoc verboten.
1. $this ist in den Properties noch nicht bekannt. Die Methode action auch nicht.
2. "Heredocs can not be used for initializing class properties."
Zitat:
Leider ist über Heredoc wenig zu finden, zumindest wenn es über die Verwendung einer simplen Variable hinaus geht.
|
Das, was im Handbuch steht, reicht doch. Warum muß es denn ausgerechnet dieser Fummel sein? Wenn Dir Templates nicht gefallen, dann verwende eben
sprintf()
PHP-Code:
function login($action = $_SERVER['SCRIPT_NAME'], $out = false){
$txt = sprintf('
<h1>hier loggen Sie sich ein </h1>
also bitte<br>
hier:
<table>
<form action="%s" method="post">
<tr>
<td>Benutzername</td>
<td><input type="text" name="benuztername"></input></td>
</tr>
<tr>
<td>Passwort</td>
<td><input type="password" name="passwort"></input></td>
</tr>
<tr>
<td><input type="submit" value="abschicken"></input> </td>
</tr>
</table>
</form>',
$action);
if ($out == false)
return $txt;
else
echo $txt;
}