2009-11-06 6 views
1

im nouveau aux sessions mais de ce que je vois compliqué d'appliquer <input> avec eux. Pouvez-vous s'il vous plaît regarder ce code et dites-moi pourquoi cela ne fonctionne pas. Je l'avais travaillé plus tôt alors il est mort sur moi. la fonction du programme est de remplir un formulaire et le faire vérifier pour des informations légitimes en utilisant des expressions régulières, j'ai juste besoin d'aide pour obtenir les sessions pour enregistrer les données.ne comprend pas pourquoi ce code ne fonctionne pas

<?php session_start(); ?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>regex</title> 


</head> 

<body> 

<?php 

$fname = $_REQUEST['fname']; 

$fname = $_SESSION['fname']; 


print<<<form 

<form method="post" action=""> 

    <input type ="text" 
      name="fname" 
      value=""> 

    <input type ="submit"> 

</form> 

form; 

$_SESSION['fname'] = $fname; 

print $_SESSION['fname']; 


?> 

</body> 
</html> 
+1

Étape 1: tell nous comment vous attendez qu'il fonctionne. – brianreavis

+0

Gah, trop d'éditeurs simultanés! :) Désolé pour les rollbacks, essayant juste de l'obtenir dans un état de lisibilité. –

+2

@Timothy - Gardez un œil sur la façon dont vous modifiez votre publication, vous continuez à ignorer les modifications de mise en forme qui contribuent à rendre votre message plus lisible. –

Répondre

1

Timothy, Changez votre code afin qu'il vérifie si la session/demande est vide ou non

Quelque chose comme:

if(isset($_REQUEST['fname'])){ 
    $fname = $_REQUEST['fname']; 
}else if(isset($_SESSION['fname'])){ 
    $fname = $_SESSION['fname']; 
} 
+0

merci beaucoup cela a fonctionné parfaitement. Je vous en suis reconnaissant. :) – Timothy

+0

Si cela a fonctionné parfaitement, s'il vous plaît marquer comme une réponse – ekhaled

+0

désolé, il a fallu si longtemps la personne qui m'a référé à ce site vient de me montrer comment marquer. – Timothy

2

Vous lisez fname $ de _REQUEST $, puis l'écraser avec la valeur de $ _SESSION, puis le remettre à _SESSION $. Jusqu'à présent, cela devrait fonctionner comme prévu :) Qu'essayez-vous de faire? Si vous voulez définir la variable $ _SESSION avec la valeur reçue par $ _REQUEST, omettez la deuxième ligne "$ fname =".

0

Essayez ceci:

if (!isset($_SESSION['fname'])) { 
    $_SESSION['fname'] = ''; // default value 
} 
if (isset($_POST['fname'])) { 
    $_SESSION['fname'] = $_POST['fname']; 
} 

print<<<form 

… 

form; 

print $_SESSION['fname']; 
Questions connexes