Irgendwie steig ich durch deine Konstruktion nicht durch... Output in einer Funktion? Warum das? Sehr merkwürdige Vorgehensweise...
Ankündigung
Einklappen
Keine Ankündigung bisher.
Cookies im Affenformular
Einklappen
Neue Werbung 2019
Einklappen
X
-
Wie erwartet funktioniert deine Version ohne Probleme.
Nur ist das für mich viel zu arbeitsaufwändig:
Code:if(Feld_nicht_leer) { if(Eingabe_enthält nur erlaubte_Zeichen) { if(Eingabe_enthält_ein_@_und_einen_.) { if(Eingabe_hat_mehr_als_8_Zeichen) { if(sql_Statement_ist_fehlerfrei) { setcookie(); } } } } }
Ungefähr so:
Code:<?php include($_GET['site'] . ".php"); ?> <html> <div> <?php echo $message; //$message wird in der includeten Datei deklariert und enthält z.B. 'Ihre Eingaben sind fehlerhaft' //Hier soll dann noch das Affenformular hin //include($_GET['site'] . "_html.php"; wäre eine Lösung mit einer 2. Datei, das würde ich aber gern umgehen ?> </div> </html>
Nach Möglichkeit ohne neue Dateien anzulegen...
Kommentar
-
Du kannst den Code in Funktionen packen.
Zum BeispielPHP-Code:<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$functions = require 'xyz.php';
$functions['pre']();
?>
<html>
<head><title>...</title></head>
<body>
<?php $functions['render'](); ?>
</body>
</html>PHP-Code:<?php
function prepare_xyz() {
if ( !isset($_COOKIE['xyzcookie']) ) {
setcookie('xyzcookie', time());
}
}
function render_xyz() {
echo '<form method="post" ><input type="submit" /></form>';
}
return array('pre'=>'prepare_xyz', 'render'=>'render_xyz');
Kommentar
-
Hmm, ich glaub ich bin selbst hier im Einsteiger Forum falsch *g*
Kannst du mir evtl erklären, was dieser Code macht und wie er funktioniert?
Insbesondere diese Zeilen hier:
Code:$functions['pre'](); <?php $functions['render'](); ?> return array('pre'=>'prepare_xyz', 'render'=>'render_xyz');
Kommentar
-
Du kannst in PHP Funktionen über den Namen (als Zeichenkette) aufrufen.
PHP-Code:function foo() {
echo 'o';
}
foo(); // ruft foo() auf
$x = 'foo';
$x(); // ruft foo() auf
$x = array();
$x['xyz'] = 'foo';
$x['xyz'](); // ruft foo() auf
$x = array('xyz'=>'foo');
$x['xyz'](); // ruft foo() auf
PHP-Code:return array('pre'=>'prepare_xyz', 'render'=>'render_xyz');
PHP-Code:$functions = require 'xyz.php';
Damit kann xyz.php an das Hauptskript zurückgeben, wann welche Funktionen aufgerufen werden sollen (das ist nur eine Möglichkeit).
$functions['pre'](); ruft in diesem Fall also die Funktion prepare_xyz() auf.
Kommentar
Kommentar