Nom de session
atk
-
DelNC Messages postés 2234 Date d'inscription Statut Membre Dernière intervention -
DelNC Messages postés 2234 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai créée un site dans lequel on peut insérer des commentaires, on peut remplir deux text : film et commentaire, mais je voudrais insérer le pseudo de la personne, et je galère un peu. J'ai essayé un $_SESSION['login'] dans un insert mais ça ne marche pas :/ voici monde code :
- <?php
session_start();
mysql_connect("localhost", "root", "");
mysql_select_db("cinema");
include('inserer_func.php');
$sql = "SELECT * FROM commentair ORDER BY date DESC";
$req = mysql_query($sql);
while ($resultat = mysql_fetch_assoc($req))
{
echo "Film : " . $resultat['film'] . "<br/>" . "texte : " . $resultat['corps'] . "<br/>" . "à " . $resultat['date'] . "</br>" . "<hr>";
}
if(isset($_POST['submit']))
{
$pseudo = htmlspecialchars(trim(mysql_real_escape_string($_POST['film'])));
$commentaire = htmlspecialchars(trim(mysql_real_escape_string($_POST['commentaire'])));
if(empty($pseudo) || empty($commentaire))
{
echo "Les champs sont vides veuillez les remplir";
}
else
{
inserer_commentaire($pseudo, $commentaire);
header("location: avislogin.php?id={$_GET['id']}");
}
}
?>
et le dossier include :
<?php
function inserer_commentaire($pseudo, $commentaire)
{
mysql_query("INSERT INTO commentair VALUE('','{$_GET['id']}','$pseudo','$commentaire', NOW())") or die(mysql_error());
}
function afficher_commentaires()
{
$commentaires = array();
$query = mysql_query("
SELECT * FROM commentair WHERE id_article = '{$_GET['id']}' ORDER BY date");
while($row = mysql_fetch_assoc($query))
{
$commentaires[] = $row;
}
return $commentaires;
}
?>
Donc je pensais mettre le $_session['login'] dans le include, mais rien ne marche
j'ai créée un site dans lequel on peut insérer des commentaires, on peut remplir deux text : film et commentaire, mais je voudrais insérer le pseudo de la personne, et je galère un peu. J'ai essayé un $_SESSION['login'] dans un insert mais ça ne marche pas :/ voici monde code :
- <?php
session_start();
mysql_connect("localhost", "root", "");
mysql_select_db("cinema");
include('inserer_func.php');
$sql = "SELECT * FROM commentair ORDER BY date DESC";
$req = mysql_query($sql);
while ($resultat = mysql_fetch_assoc($req))
{
echo "Film : " . $resultat['film'] . "<br/>" . "texte : " . $resultat['corps'] . "<br/>" . "à " . $resultat['date'] . "</br>" . "<hr>";
}
if(isset($_POST['submit']))
{
$pseudo = htmlspecialchars(trim(mysql_real_escape_string($_POST['film'])));
$commentaire = htmlspecialchars(trim(mysql_real_escape_string($_POST['commentaire'])));
if(empty($pseudo) || empty($commentaire))
{
echo "Les champs sont vides veuillez les remplir";
}
else
{
inserer_commentaire($pseudo, $commentaire);
header("location: avislogin.php?id={$_GET['id']}");
}
}
?>
et le dossier include :
<?php
function inserer_commentaire($pseudo, $commentaire)
{
mysql_query("INSERT INTO commentair VALUE('','{$_GET['id']}','$pseudo','$commentaire', NOW())") or die(mysql_error());
}
function afficher_commentaires()
{
$commentaires = array();
$query = mysql_query("
SELECT * FROM commentair WHERE id_article = '{$_GET['id']}' ORDER BY date");
while($row = mysql_fetch_assoc($query))
{
$commentaires[] = $row;
}
return $commentaires;
}
?>
Donc je pensais mettre le $_session['login'] dans le include, mais rien ne marche
1 réponse
Essaye çà.
à la page où les visiteurs se connectent
colle çà tout en haut en dehors du php
<?php session_start(); ?>
Dans le php
<center>
<h2>Entrez votre login et votre mot de passe</h2>
<form method="post" action="user_login_action.php">
<table class="green">
<tr><td>login </td><td><input type="text" name="login" ></td></tr>
<tr><td>password</td><td><input type="password" name="password"></td></tr>
<tr><td> </td><td><input type="submit" ></td></tr>
</table>
</form>
<br/>
</center>
//page qui verifie si couple login/password est bon
<?php
/*reception valeurs*/
if(isset($_REQUEST["login" ])) {$login = $_REQUEST["login" ];}
else {$login = "";}
if(isset($_REQUEST["password"])) {$password = $_REQUEST["password"];}
else {$password = "";}
?>
<?php
/*mise en session des valeurs*/
$_SESSION["login" ] = $login;
$_SESSION["password"] = $password;
$_SESSION["status" ] = identification($login,$password);
?>
<?php
/*affichages suivant le cas*/
if (identification($login,$password)=="valid") {
$_SESSION["id_user"] = sql_get_id_user($login);
echo "<h2>Le couple LOGIN / PASSWORD est valide.</h2>\n";
}//end if
// mets le code ci-dessous dans une autre page ex include_functions.php
Il faudra appeler cette page en utilisant un include
ex <?php include("include_functions.php"); ?>
function display_error() {
//sert a afficher un message d'erreur sur une page en cas de login invalide
if(isset($_SESSION["status"])) {$status = $_SESSION["status"];}
else {$status = "invalid";}
if ($status == "invalid") {include('include_error.php');
}//end if
}//end function
Dans chacune des pages mets aussi tout en haut
<?php session_start(); ?>
Pour le contenu des pages que tu veux limiter aux personnes loguées mets
<?php
if ($status=="valid") { .......
}
à la page où les visiteurs se connectent
colle çà tout en haut en dehors du php
<?php session_start(); ?>
Dans le php
<center>
<h2>Entrez votre login et votre mot de passe</h2>
<form method="post" action="user_login_action.php">
<table class="green">
<tr><td>login </td><td><input type="text" name="login" ></td></tr>
<tr><td>password</td><td><input type="password" name="password"></td></tr>
<tr><td> </td><td><input type="submit" ></td></tr>
</table>
</form>
<br/>
</center>
//page qui verifie si couple login/password est bon
<?php
/*reception valeurs*/
if(isset($_REQUEST["login" ])) {$login = $_REQUEST["login" ];}
else {$login = "";}
if(isset($_REQUEST["password"])) {$password = $_REQUEST["password"];}
else {$password = "";}
?>
<?php
/*mise en session des valeurs*/
$_SESSION["login" ] = $login;
$_SESSION["password"] = $password;
$_SESSION["status" ] = identification($login,$password);
?>
<?php
/*affichages suivant le cas*/
if (identification($login,$password)=="valid") {
$_SESSION["id_user"] = sql_get_id_user($login);
echo "<h2>Le couple LOGIN / PASSWORD est valide.</h2>\n";
}//end if
// mets le code ci-dessous dans une autre page ex include_functions.php
Il faudra appeler cette page en utilisant un include
ex <?php include("include_functions.php"); ?>
function display_error() {
//sert a afficher un message d'erreur sur une page en cas de login invalide
if(isset($_SESSION["status"])) {$status = $_SESSION["status"];}
else {$status = "invalid";}
if ($status == "invalid") {include('include_error.php');
}//end if
}//end function
Dans chacune des pages mets aussi tout en haut
<?php session_start(); ?>
Pour le contenu des pages que tu veux limiter aux personnes loguées mets
<?php
if ($status=="valid") { .......
}
GOOD WORK