$_POST

Mammouth du PHP | 536 Messages

18 mai 2006, 15:35

Juste une petite question...
est-il possible de transférer des variables d'un formulaire grace a la method post vers plusieurs page.php et de les récuperer ensute avec $_POST[] ?
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mai 2006, 15:53

sessions ;)

Mammouth du PHP | 536 Messages

18 mai 2006, 15:54

oui bé non, je galere deja avec les sessions, je panne rien, j'arrive a les mettre en place sur mon site
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mai 2006, 15:55

oui bé non, je galere deja avec les sessions, je panne rien, j'arrive a les mettre en place sur mon site
Heu j'ai pas compris lol

Mammouth du PHP | 536 Messages

18 mai 2006, 15:57

oui bé non, je galere deja avec les sessions, je panne rien, j'arrive a les mettre en place sur mon site
je voulais dire j'arrive pas* a les mettre en place sur mon site :oops:
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 mai 2006, 15:58

C'est faisable.. faut que chacun de tes traitement affiche un formulaire contenant les valeurs récupérées de post et les renvoient automatiquement à la page suivante en javascript.. c'est lourd, pas joli, pas toujours efficace, d'une compléxité sans nom à maintenir.. m'enfin c'est faisable...

Sinon session, cookies, base de données, fichiers, ... restent ce qu'il y a de plus pratique pour conserver des données entre les pages.

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mai 2006, 16:01

COmme le dit Ryle, c'est sûr que les sessions c'est un peu galère au début quand on ne comprend pas, mais tu verras que la solution que tu recherche est bien pire.

Penches toi sur les sessions et ça devriendra plus limpide ;) Regardes les différents tutos, testes leurs exos pour voir comment ça marche.

Mammouth du PHP | 536 Messages

18 mai 2006, 16:06

parce que en fait ce que je veux faire, c'est qu'un etudiant s''identifie grace a un formulaire avec ce code ci :

Code : Tout sélectionner

<form name="log_etudiant" method="post" action="login.php"> <p class="Texte"> Derni&egrave;re classe fr&eacute;quent&eacute;e: <br> <select name="derniere_classe">
<?php 
$db = mysql_connect("localhost", "root");
mysql_select_db("hippolyte",$db);

$query = "SELECT intitule FROM classe";
$result = mysql_query($query);

while ($row = mysql_fetch_array($result)) {	
	
$intitule = ($row['intitule']);
echo "<option>".$intitule."</option>"; 
}

Code : Tout sélectionner

</select><br><br> Nom de l'étudiant : <br> <input name="nom_etudiant" type="text" size="20"> <br> <br> prenom de l'étudiant : <br> <input name="prenom_etudiant" type="text" size="20"> <br> <br> Mot de passe : <br> <input name="password" type="password" size="10"><br><br> </p> <input type="submit" value="Se connecter"> <input type="reset" value="Effacer"> </form>
Tout est vérifié grace a la page login.php dont voici le code :
<?php 
/* login.php 
description : page de login pour la selection à accès réservé du lycée hippolyte fontaine 
Il propose de s'identifier par un couple nom de login/mot de passe 

identificateurs et mots de passe sont conservés dans une BDD */ 

$connection = mysql_connect("localhost","root"); 
$db = mysql_select_db("hippolyte",$connection); 

$sql = "SELECT nom_etudiant FROM etudiant WHERE nom_etudiant='".$_POST['nom_etudiant']."'"; 
$result = mysql_query($sql); 

$num = mysql_num_rows($result); 

if($num > 0) //Le nom de l'étudiant a été trouvé 
{ 
    $sql = "SELECT nom_etudiant FROM etudiant WHERE nom_etudiant='$_POST[nom_etudiant]' AND prenom_etudiant='$_POST[prenom_etudiant]' AND derniere_classe='$_POST[derniere_classe]' AND password_etudiant='$_POST[password]'"; 

    $result2 = mysql_query($sql); 
    $num2 = mysql_num_rows($result2); 
       
    if ($num2 > 0) // mot de passe correct 
    { 
        $_SESSION['auth']="yes"; 
        /*$logname = $_POST['login']; 
        $aujourdhui = date("Y-m-d h:i:s"); 
        $sql = "INSERT INTO login_entreprise(nom_login, date_login) VALUES('$logname', '$aujourdhui')"; 
        mysql_query($sql); */
        if (!headers_sent()) 
		{
			header ("Location: depot.php");
			exit;
		} 
    } 
    else //mot de passe incorrect 
    { 
        header("location: index.php?messageerreurmdp");
    } 
     
} 

else //login absent 
    {
		header("location: index.php?messageerreurlogin");    
    } 
?> 
et j'aimerais alors que dans la page depot.php ou l'etudiant rentre a nouveau son et prénom, les champs soient préremplis pour lui faciliter la tache.

Voila en gros mon probleme, pouvez vous m'aider ?[/php]
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mai 2006, 16:24

Bé il faut juste que tu déclares tes sessions dès que c'est ok :
$_SESSION['nom'] = $_POST['nom_etudiant'];
$_SESSION['prenom'] = $_POST['prenom_etudiant'];
Et ensuite tu utilises $_SESSION['nom'] et $_SESSION['prenom'] sur tes autres pages

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 mai 2006, 16:25

Il n'y a pourtant rien de sorcier dans les sessions, c'est un bête tableau que tu vas avoir sur chaque page ou tu les démarres, exactement ce que tu veux faire avec ton $_POST :

La ou tu récupères les données que tu souhaites conserver, tout ce que tu as à faire c'est :
session_start(); // demarre la session
$_SESSION['mesDonneesPost'] = $_POST; // colle ton tableau post dans la session
Et la où tu veux les utiliser tu fais
session_start(); // demarre la session
$monPOST = $_SESSION['mesDonneesPost']; // récupère ton tableau post de la session
et tu intérroges $monPOST['...'] comme tu le ferais avec $_POST. Pour les subtilités tu as tout le temps de voir venir, mais ça quand même, c'est pas ce qu'il y a de plus compliqué non plus, si ? :)

Mammouth du PHP | 536 Messages

18 mai 2006, 17:05

bon ben je vais essayé ce soir, et si je rencontre des problèmes je reviendrais... vous ne vous débarraserez pas de moi aussi rapidement.. lol :D
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Mammouth du PHP | 536 Messages

18 mai 2006, 17:24

je dois mettre ca dans quelle page? login.php ?
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Mammouth du PHP | 536 Messages

18 mai 2006, 17:33

Voila mon code de la page ou je veux réutiliser les champs saisis par l'utilisateur
<?php session_start(); ?>

Code : Tout sélectionner

<form action="enregistrement/enregistrement.php" method="post"> <p class="Texte"> Nom* : <br> <input name="nom_etudiant" type="text" size="20" value="<? echo $_SESSION['nom'] ?>"><br><br> Prénom* : <br> <input name="prenom_etudiant" type="text" size="20" value="<? echo $_SESSION['prenom'] ?>"><br><br>
Et j'ai un message d'erreur, pourquoi?

et sur ma page ou l'utilisateur rentre les informations, voila mon code :
session_start();
$_SESSION['nom']=$_POST['nom_etudiant'];
$_SESSION['prenom']=$_POST['prenom_etudiant'];
[/code]
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 mai 2006, 17:39

Quel est ton message d'erreur ? index non défini ?
sur quelle ligne ?
essaye de trouver quel index n'est pas encore défini à ce moment là.. utilise des print_r() pour voir ce que contiennent les tableaux..
pourquoi l'index n'est il pas défini ?
à quel moment devrait il être défini ?
d'où viennent les valeurs que tu essayes de mettre en session ?
...

Mammouth du PHP | 536 Messages

19 mai 2006, 08:26

voila mon message d'erreur :
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\hippolyte\etudiant\depot\depot.php:12) in c:\program files\easyphp1-8\www\hippolyte\etudiant\depot\depot.php on line 42
et la ligne 42 de la page en question correspond a :
<?php session_start();
Voila, pouvez me renseigner ?
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!