Probleme session_start
Fermé
elchico66
Messages postés
981
Date d'inscription
dimanche 22 juillet 2007
Statut
Membre
Dernière intervention
11 juin 2022
-
19 juin 2012 à 16:29
Utilisateur anonyme - 21 juin 2012 à 15:27
Utilisateur anonyme - 21 juin 2012 à 15:27
A voir également:
- Probleme session_start
- Session_start(); ✓ - Forum Webmastering
- Session_start(): a session had already been started ✓ - Forum PHP
- Session_start() headers already sent ✓ - Forum Webmastering
- Warning: session_start(): cannot send session cache limiter - headers already sent - Forum PHP
- Une session php a été créée par un appel de fonction session_start(). cela interfère avec l’api rest et les requêtes de boucle (loopback). la session devrait être fermée par session_write_close() avant d’effectuer toute requête http. - Forum Programmation
5 réponses
Utilisateur anonyme
19 juin 2012 à 17:15
19 juin 2012 à 17:15
Bonjour
Quand je vois ça...
Je ne lis pas la suite...
Sais-tu quelle différence il y a entre '$pseudo' et $pseudo en php ?
$pseudo, c'est une variable, qui peut contenir divers trucs et machins, enfin, je penses que tu sais ce que c'est.
Mais '$pseudo' n'a aucun rapport avec la variable $pseudo. C'est juste une chaîne constituée des 7 caractères $,p,s,e,u,d, et o.
Je crois que ça explique bien des choses.
Quand je vois ça...
$_SESSION['pseudo'] = '$pseudo';
Je ne lis pas la suite...
Sais-tu quelle différence il y a entre '$pseudo' et $pseudo en php ?
$pseudo, c'est une variable, qui peut contenir divers trucs et machins, enfin, je penses que tu sais ce que c'est.
Mais '$pseudo' n'a aucun rapport avec la variable $pseudo. C'est juste une chaîne constituée des 7 caractères $,p,s,e,u,d, et o.
Je crois que ça explique bien des choses.
elchico66
Messages postés
981
Date d'inscription
dimanche 22 juillet 2007
Statut
Membre
Dernière intervention
11 juin 2022
18
20 juin 2012 à 00:34
20 juin 2012 à 00:34
J'apprends... j'ai bien saisi la différence maintenant. Je tacherais ne plus faire cette erreur, désolé au codeur confirmé. :/
J'ai opté pour ce code après 6h de réflexion et de test.
Mais j'ai toujours le formulaire qui me revient et non le message de bienvenue.
Pourquoi? Que dois-je changer ?
Merci de votre compréhension.
=)
J'ai opté pour ce code après 6h de réflexion et de test.
if(isset($_SESSION['pseudo'])) { echo 'Bienvenue a toi ' . htmlspecialchars($_SESSION['pseudo'] = $_POST['pseudo']) . ' !'; } else { ?> <div id="connexion"><!------------------------- CONNEXION ------------------------> <form method="post" action="index.php"> <h2>Connexion</h2> <p> <label> Entrer votre pseudo : </label><input type="text" name="pseudo" id="pseudo" /><br /> <label> Ta région : </label><select name="region" id="region"> <option value="alsace">Alsace</option> <option value="aquitaine">Aquitaine</option> <option value="Auvergne">Auvergne</option> <option value="Basse-Normandie">Basse-Normandie</option> <option value="Bourgogne">Bourgogne</option> <option value="Bretagne">Bretagne</option> <option value="Centre">Centre</option> <option value="Champagne-Ardenne">Champagne-Ardenne</option> <option value="Corse">Corse</option> <option value="Franche-Comté">Franche-Comté</option> <option value="Haute-Normandie">Haute-Normandie</option> <option value="Ile-de-France">Ile-de-France</option> <option value="Languedoc-Roussillon">Languedoc-Roussillon</option> <option value="Limousin">Limousin</option> <option value="Lorraine">Lorraine</option> <option value="Midi-Pyrénées">Midi-Pyrénées</option> <option value="Nord-Pas-de-Calais">Nord-pas-de-Calais</option> <option value="Pays de la Loire">Pays de la Loire</option> <option value="Picardie">Picardie</option> <option value="Poitou-Charentes">Poitou-Charentes</option> <option value="Provence-Alpes-Côte d'Azur">Provence-Alpes-Côte d'Azur</option> <option value="Rhône-Alpes">Rhône-Alpes</option> <option ><hr /></option> <option value="Guadeloupe">Guadeloupe</option> <option value="Martinique">Martinique</option> <option value="Guyane">Guyane</option> <option value="Réunion">Réunion</option> </select> <br /> <label> Entrer votre âge : </label><input type="text" name="age" id="age" /><br /> <label>Vous êtes :</label> <input type="radio" name="sexe" id="femme" value="une Femme" /><label for="femme"> Une femme</label> <input type="radio" name="sexe" id="homme" value="un homme" /><label for="homme">Un Homme</label><br /> <input type="submit" value="Ok" id="bouton_ok" /> </p> </form> </div><!------------------------------------------- FIN CONNEXION --------------------> <?php } ?>
Mais j'ai toujours le formulaire qui me revient et non le message de bienvenue.
Pourquoi? Que dois-je changer ?
Merci de votre compréhension.
=)
ludo1325
Messages postés
149
Date d'inscription
samedi 27 juin 2009
Statut
Membre
Dernière intervention
23 juin 2015
33
20 juin 2012 à 05:46
20 juin 2012 à 05:46
<?php //On démarre la Session session_start(); //Traitement du formulaire (non complet !! exemple !!) //On vérifie que le ou les champ(s) existe et qu'il(s) ne sont pas vide if(isset($_POST['pseudo']) && !empty ($_POST['pseudo'])) { //On enregistre le le champs pseudo dans une session $_SESSION['pseudo'] = $_POST['pseudo']; //One affiche le message echo 'Bienvenue a toi ' . htmlspecialchars($_SESSION['pseudo']) . ' !'; } else { //Sinon on affiche le formulaire ?> <div id="connexion"><!------------------------- CONNEXION ------------------------> <form method="post" action="index.php"> <h2>Connexion</h2> <p> <label> Entrer votre pseudo : </label><input type="text" name="pseudo" id="pseudo"><br /> <label> Ta région : </label><select name="region" id="region"> <option value="alsace">Alsace</option> <option value="aquitaine">Aquitaine</option> <option value="Auvergne">Auvergne</option> <option value="Basse-Normandie">Basse-Normandie</option> <option value="Bourgogne">Bourgogne</option> <option value="Bretagne">Bretagne</option> <option value="Centre">Centre</option> <option value="Champagne-Ardenne">Champagne-Ardenne</option> <option value="Corse">Corse</option> <option value="Franche-Comté">Franche-Comté</option> <option value="Haute-Normandie">Haute-Normandie</option> <option value="Ile-de-France">Ile-de-France</option> <option value="Languedoc-Roussillon">Languedoc-Roussillon</option> <option value="Limousin">Limousin</option> <option value="Lorraine">Lorraine</option> <option value="Midi-Pyrénées">Midi-Pyrénées</option> <option value="Nord-Pas-de-Calais">Nord-pas-de-Calais</option> <option value="Pays de la Loire">Pays de la Loire</option> <option value="Picardie">Picardie</option> <option value="Poitou-Charentes">Poitou-Charentes</option> <option value="Provence-Alpes-Côte d'Azur">Provence-Alpes-Côte d'Azur</option> <option value="Rhône-Alpes">Rhône-Alpes</option> <option ><hr /></option> <option value="Guadeloupe">Guadeloupe</option> <option value="Martinique">Martinique</option> <option value="Guyane">Guyane</option> <option value="Réunion">Réunion</option> </select> <br /> <label> Entrer votre âge : </label><input type="text" name="age" id="age" /><br /> <label>Vous êtes :</label><input type="radio" name="sexe" id="femme" value="une Femme" /> <label for="femme"> Une femme</label><input type="radio" name="sexe" id="homme" value="un homme" /><label for="homme">Un Homme</label><br /> <input type="submit" value="Ok" id="bouton_ok" /> </p> </form> </div><!------------------------------------------- FIN CONNEXION --------------------> <?php } ?>
Si tu veut plus d'infos complexe à propos de autre chose, et que tu dispose de skype, envoi le moi en mp sur le forum ^^" si tu veut.
elchico66
Messages postés
981
Date d'inscription
dimanche 22 juillet 2007
Statut
Membre
Dernière intervention
11 juin 2022
18
20 juin 2012 à 14:44
20 juin 2012 à 14:44
Pourquoi //Traitement du formulaire (non complet !! exemple !!) ? Je ne comprends pas trop.
Voici mon code entier :
Qu'elles sont les modifications à faire ?
merci ! =)
Voici mon code entier :
<?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Chatoo</title> <link rel="stylesheet" type="text/css" href="css/style.css" /> </head> <body> <div id="en_tete"> <!--------------------------- EN TETE ---------------------------> <h1> <span style="font-style:italic;"> C</span>hat<span style="color:#000000">o</span><span style="color:#F2C700; font-weight:bold">o</span> </h1> <h3> Le site mini du chat </h3> <div class="logo_titre"><img src="images/icon_bulles.png" /></div> </div> <!-------------------------------------- FIN EN TETE -----------------------> <div id="menu_principal"><!-------------------- MENU HORIZONTALE ------------------> <ul> <li id="selected"><a href="index.php" > Accueil </a></li> <li><a href="salons_chat.php"> Salons </a></li> <li><a href="contact.php">Contact </a></li> </ul> </div><!--------------------------------------- FIN MENU HORIZONTALE -------------> <?php try { $bdd = new PDO('mysql:host=localhost;dbname=chatoo', 'root', ''); } catch(Exception $e) { die('erreur : '.$e->getMessage()); } $req = $bdd->prepare('INSERT INTO connexion_chat(pseudo, region, age, sexe) VALUE(?, ?, ?, ?)'); $req->execute(array( $_POST['pseudo'], $_POST['region'], $_POST['age'], $_POST['sexe'])); if(isset($_POST['pseudo']) && !empty ($_POST['pseudo'])) { //On enregistre le le champs pseudo dans une session $_SESSION['pseudo'] = $_POST['pseudo']; //One affiche le message echo 'Bienvenue a toi ' . htmlspecialchars($_SESSION['pseudo']) . ' !'; } else { //Sinon on affiche le formulaire ?> <div id="connexion"><!------------------------- CONNEXION ------------------------> <form method="post" action="index.php"> <h2>Connexion</h2> <p> <label> Entrer votre pseudo : </label><input type="text" name="pseudo" id="pseudo" /><br /> <label> Ta région : </label><select name="region" id="region"> <option value="alsace">Alsace</option> <option value="aquitaine">Aquitaine</option> <option value="Auvergne">Auvergne</option> <option value="Basse-Normandie">Basse-Normandie</option> <option value="Bourgogne">Bourgogne</option> <option value="Bretagne">Bretagne</option> <option value="Centre">Centre</option> <option value="Champagne-Ardenne">Champagne-Ardenne</option> <option value="Corse">Corse</option> <option value="Franche-Comté">Franche-Comté</option> <option value="Haute-Normandie">Haute-Normandie</option> <option value="Ile-de-France">Ile-de-France</option> <option value="Languedoc-Roussillon">Languedoc-Roussillon</option> <option value="Limousin">Limousin</option> <option value="Lorraine">Lorraine</option> <option value="Midi-Pyrénées">Midi-Pyrénées</option> <option value="Nord-Pas-de-Calais">Nord-pas-de-Calais</option> <option value="Pays de la Loire">Pays de la Loire</option> <option value="Picardie">Picardie</option> <option value="Poitou-Charentes">Poitou-Charentes</option> <option value="Provence-Alpes-Côte d'Azur">Provence-Alpes-Côte d'Azur</option> <option value="Rhône-Alpes">Rhône-Alpes</option> <option ><hr /></option> <option value="Guadeloupe">Guadeloupe</option> <option value="Martinique">Martinique</option> <option value="Guyane">Guyane</option> <option value="Réunion">Réunion</option> </select> <br /> <label> Entrer votre âge : </label><input type="text" name="age" id="age" /><br /> <label>Vous êtes :</label> <input type="radio" name="sexe" id="femme" value="une Femme" /><label for="femme"> Une femme</label> <input type="radio" name="sexe" id="homme" value="un homme" /><label for="homme">Un Homme</label><br /> <input type="submit" value="Ok" id="bouton_ok" /> </p> </form> </div><!------------------------------------------- FIN CONNEXION --------------------> <?php } ?> <hr /> <div id="corps"><!--------------------------------- CORPS ----------------------------> <p> <strong>Chatoo</strong>, le mini site de chat en toute simplicité et sans inscription. Parlez, partagez, liez vous d'amitié en toute liberté.</p> </div><!------------------------------------------- FIN CORPS ------------------------> </body> </html>
Qu'elles sont les modifications à faire ?
merci ! =)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Idéalement, il faut avant tout traiter les données non-visibles, comme le traitement du $_POST, de $_SESSION, ...
<?php
session_start();
if(!empty ($_POST['pseudo'])) // isset( $_POST['pseudo'] ) ne servirait à rien ici
{
// $_POST n'est pas vide, on le traite
try
{
$bdd = new PDO('mysql:host=localhost;dbname=chatoo', 'root', '');
}
catch(Exception $e)
{
die('erreur : '.$e->getMessage());
}
$req = $bdd->prepare('INSERT INTO connexion_chat(pseudo, region, age, sexe) VALUE(?, ?, ?, ?)');
$req->execute(array(
$_POST['pseudo'],
$_POST['region'],
$_POST['age'],
$_POST['sexe']));
$_SESSION['pseudo'] = $_POST['pseudo'];
}
// Les données non-visibles ont été traitées, maintenant faut voir ce qu'on doit afficher
if(!empty( $_SESSION['pseudo'] ))
{
echo 'Bienvenue a toi ' . htmlspecialchars($_SESSION['pseudo']) . ' !';
}else{
// Pas de $_SESSION['pseudo'], on affiche le formulaire de connexion
}
<?php
session_start();
if(!empty ($_POST['pseudo'])) // isset( $_POST['pseudo'] ) ne servirait à rien ici
{
// $_POST n'est pas vide, on le traite
try
{
$bdd = new PDO('mysql:host=localhost;dbname=chatoo', 'root', '');
}
catch(Exception $e)
{
die('erreur : '.$e->getMessage());
}
$req = $bdd->prepare('INSERT INTO connexion_chat(pseudo, region, age, sexe) VALUE(?, ?, ?, ?)');
$req->execute(array(
$_POST['pseudo'],
$_POST['region'],
$_POST['age'],
$_POST['sexe']));
$_SESSION['pseudo'] = $_POST['pseudo'];
}
// Les données non-visibles ont été traitées, maintenant faut voir ce qu'on doit afficher
if(!empty( $_SESSION['pseudo'] ))
{
echo 'Bienvenue a toi ' . htmlspecialchars($_SESSION['pseudo']) . ' !';
}else{
// Pas de $_SESSION['pseudo'], on affiche le formulaire de connexion
}
Modifié par eone2 le 21/06/2012 à 15:15
$_SESSION['pseudo'] = "$pseudo"; (guillemet double) marche très bien et $pseudo n'est pas considéré comme une chaine de caractère
donc ce n'est pas une erreur très grave :)
21 juin 2012 à 15:27
Je n'avais d'ailleurs pas dit que c'était une erreur très grave. J'ai simplement dit que j'arrêtais de lire là.
Et si j'arrête de lire, c'est simplement parce que j'ai trouvé une erreur qui explique tellement de choses qu'il faut commencer par la corriger avant d'analyser le reste.