Nom de session

Fermé
atk - Modifié par Scarface72 le 3/06/2014 à 09:37
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 - 4 nov. 2015 à 02:29
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

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") { .......
}
1
DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002
4 nov. 2015 à 02:29
Le code est bien expliqué

GOOD WORK
0