Habe testweise mein PHP-Formular auf unterschiedlichen Servern ausprobiert. Seltsamerweise funktionierten auf einem Server ein paar input fields nicht (genauer: die Session wurde nicht gespeichert)
Nach recherche war folgender Fehler dafür verantwortlich, obwohl ich ihn nicht verstehen kann. Kann es sein, dass aufgrund unterschiedlicher php.ini einstellungen, manche $_SESSION['variable'] auch direkt angesprochen werden koennen? also einfach "$variable=" statt "$_SESSION['variable'] ="
aber selbst wenn, warum funktioniert folgender code auf (m)einem server und auf dem andern (öffentlichen) nicht.
----------------CODE--------------------------
<?php
session_start();
$email = ""; /*wenn ich das ausblende, gehts auch auf dem andern (öffentlichen) server, aber seltsam, weil die variable email ja nie verwendet wird, und selbst wenn...*/
function register_item($item){
if ( isset($_POST[$item]) ){
$_SESSION[$item] = $_POST[$item];
}
else{
unset ($_SESSION[$item]);
}
function check($item){
if ( isset($_SESSION[$item]) ){
return $_SESSION[$item];
}
if($_POST) {
register_item('email');
if(isset($_POST['step1'])) {
header("Location: scuubreg_design_step1.php");
exit();
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input name="email" value ="<?php print check('email'); ?>">
<input name="step1" type="submit" value= "Schritt 1" >
</form>
http://www.learnclip.com/hyper/scuubreg_design_step1.php