Php encore problem avec session
jupiler
-
jupiler -
jupiler -
Bonjour,
voila j ai deux fichiers pour lesquels j utilise des sessions mais apparemment ca ne fonctionne pas et je ne vois pas pourquoi :
fichier 1 :
<?php
session_start();
$_SESSION['iddi']=$iddi;
include 'inc/config.php';
include 'inc/connexion.php';
if(isset($_COOKIE['ID_my_site']))
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['password'])
{ header("Location: login.php");
}
else
{
include 'header.php';
include 'menu.php';
include 'implant/modif.php';
include 'footer.php';
}
}
}
else
{
header("Location: index.php");
}
?>
et le deuxième fichier :
<?php
session_start();
$iddi=$_SESSION['iddi'];
include 'inc/config.php';
include 'inc/connexion.php';
if(isset($_COOKIE['ID_my_site']))
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['password'])
{ header("Location: login.php");
}
else
{
include 'header.php';
include 'menu.php';
include 'implant/modif2.php';
include 'footer.php';
}
}
}
else
{
header("Location: index.php");
}
?>
voila j ai deux fichiers pour lesquels j utilise des sessions mais apparemment ca ne fonctionne pas et je ne vois pas pourquoi :
fichier 1 :
<?php
session_start();
$_SESSION['iddi']=$iddi;
include 'inc/config.php';
include 'inc/connexion.php';
if(isset($_COOKIE['ID_my_site']))
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['password'])
{ header("Location: login.php");
}
else
{
include 'header.php';
include 'menu.php';
include 'implant/modif.php';
include 'footer.php';
}
}
}
else
{
header("Location: index.php");
}
?>
et le deuxième fichier :
<?php
session_start();
$iddi=$_SESSION['iddi'];
include 'inc/config.php';
include 'inc/connexion.php';
if(isset($_COOKIE['ID_my_site']))
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['password'])
{ header("Location: login.php");
}
else
{
include 'header.php';
include 'menu.php';
include 'implant/modif2.php';
include 'footer.php';
}
}
}
else
{
header("Location: index.php");
}
?>
A voir également:
- Php encore problem avec session
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Windows
- Veuillez ouvrir une session avec les privilèges de gestionnaire - Forum Windows 10
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
9 réponses
à première vue, les premières lignes sont bizarres :
$_SESSION['iddi']=$iddi;
ca sert à quoi ?
une variable session sert à mémoriser une info au travers des pages pour un client donné.
Quand tu affectes la variable $_SESSION['iddi'], tu définis une variable session, c'est à dire que isset($_SESSION['iddi']) retourne TRUE
De plus, $iddi (variable locale de ton fichier) n'est pas défini en amont, et est similaire à ta variable session
En mode lecture, $iddi est $_SESSION['iddi']
donc problème car ca veut dire x=x !
que veux-tu faire exactement avec tes variables sessions ?
$_SESSION['iddi']=$iddi;
ca sert à quoi ?
une variable session sert à mémoriser une info au travers des pages pour un client donné.
Quand tu affectes la variable $_SESSION['iddi'], tu définis une variable session, c'est à dire que isset($_SESSION['iddi']) retourne TRUE
De plus, $iddi (variable locale de ton fichier) n'est pas défini en amont, et est similaire à ta variable session
En mode lecture, $iddi est $_SESSION['iddi']
donc problème car ca veut dire x=x !
que veux-tu faire exactement avec tes variables sessions ?
en fait je veux afficher la ligne avec les infos d'un DVD pour pouvoir les modifier
$iddi = $_POST['form_dvd'];
if(isset($_POST['form_dvd']))
{
$sql = "SELECT idp FROM media where ss="'.$ss.'"";
$req = mysql_query($sql) or die( mysql_error() ) ;
$idpi = mysql_result($req, 0);
echo $sql3 = "SELECT * FROM media where idpi='$idpi' and iddi='$iddi'";
$req3 = mysql_query($sql3) or die( mysql_error() ) ;
$total3 = mysql_num_rows($req3);
echo '<h1>Renseignez les réferences de votre media</h1>';
echo $iddi;
echo '<form method ="post" action="ci-step3.php">';
echo '<center><table class="table2">'."\n";
echo '<tr class="form">';
echo '<td><b>Dvd</b></td>';
echo '<td><b>format</b></td>';
echo '<td><b>zone</b></td>';
echo '<td><b>titre</b></td>';
echo '</tr>'."\n";
while($row = mysql_fetch_array($req3))
{
echo '<tr class="form">';
echo '<td class="td-p"><input type="text" name="iddi" value="'.$row["iddi"].'"/></td>';
echo '<td class="td-p"><textarea row="3" cols="20" name="format" rows="4" value="votre texte"/>
'.$row["format"].'</textarea></td>';
echo '<td class="td-p"><textarea row="4" cols="30" name="zone" rows="4" value="votre texte"/>
'.$row["zone"].'</textarea></td>';
echo '<td class="td-p"><textarea row="3" cols="20" name="titre" rows="4" value="votre texte"/>
'.$row["titre"].'</textarea></td>';
echo '</tr>'."\n";
}
echo '</table></center>'."\n";
echo '<input type="hidden" name="dvd2" value=$iddi/><br><center><input type="submit" name="ok" value="Modifier le media"/></center>';
echo '</form>';
}
et ensuite faire l update dans mabse mon probleme etait qu il faisait l update sur tous mes champs idp sans prendre en compte le iddi
mais la session ne le récupère pas
if (isset($_POST['ok']))
{
$sql2= "UPDATE media SET format='".$_POST['format']."', zone='".$_POST['zone']."', titre='".$_POST['titre']."' where idpi='$idpi' and iddi='$iddi'";
$req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
}
donc la l update fonctionne mais en prend pas en compte le where iddi='$iddi'
Merci
$iddi = $_POST['form_dvd'];
if(isset($_POST['form_dvd']))
{
$sql = "SELECT idp FROM media where ss="'.$ss.'"";
$req = mysql_query($sql) or die( mysql_error() ) ;
$idpi = mysql_result($req, 0);
echo $sql3 = "SELECT * FROM media where idpi='$idpi' and iddi='$iddi'";
$req3 = mysql_query($sql3) or die( mysql_error() ) ;
$total3 = mysql_num_rows($req3);
echo '<h1>Renseignez les réferences de votre media</h1>';
echo $iddi;
echo '<form method ="post" action="ci-step3.php">';
echo '<center><table class="table2">'."\n";
echo '<tr class="form">';
echo '<td><b>Dvd</b></td>';
echo '<td><b>format</b></td>';
echo '<td><b>zone</b></td>';
echo '<td><b>titre</b></td>';
echo '</tr>'."\n";
while($row = mysql_fetch_array($req3))
{
echo '<tr class="form">';
echo '<td class="td-p"><input type="text" name="iddi" value="'.$row["iddi"].'"/></td>';
echo '<td class="td-p"><textarea row="3" cols="20" name="format" rows="4" value="votre texte"/>
'.$row["format"].'</textarea></td>';
echo '<td class="td-p"><textarea row="4" cols="30" name="zone" rows="4" value="votre texte"/>
'.$row["zone"].'</textarea></td>';
echo '<td class="td-p"><textarea row="3" cols="20" name="titre" rows="4" value="votre texte"/>
'.$row["titre"].'</textarea></td>';
echo '</tr>'."\n";
}
echo '</table></center>'."\n";
echo '<input type="hidden" name="dvd2" value=$iddi/><br><center><input type="submit" name="ok" value="Modifier le media"/></center>';
echo '</form>';
}
et ensuite faire l update dans mabse mon probleme etait qu il faisait l update sur tous mes champs idp sans prendre en compte le iddi
mais la session ne le récupère pas
if (isset($_POST['ok']))
{
$sql2= "UPDATE media SET format='".$_POST['format']."', zone='".$_POST['zone']."', titre='".$_POST['titre']."' where idpi='$idpi' and iddi='$iddi'";
$req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
}
donc la l update fonctionne mais en prend pas en compte le where iddi='$iddi'
Merci
j'ai pas tout compris.
Mais pour faire simple :
- as-tu bien mis session_start() au début de tous les fichiers ?
- dans quel fichier affectes-tu ta variable session ?
- dans quel fichier tu la lis ? fais un test echo $_SESSION['xxx'] juste au début de ton fichier, et tu verras si la variable session est bien en mémoire. Je ne vois pas pourquoi ca ne marcherait pas
Mais pour faire simple :
- as-tu bien mis session_start() au début de tous les fichiers ?
- dans quel fichier affectes-tu ta variable session ?
- dans quel fichier tu la lis ? fais un test echo $_SESSION['xxx'] juste au début de ton fichier, et tu verras si la variable session est bien en mémoire. Je ne vois pas pourquoi ca ne marcherait pas
alors en tout cas merci de ton aide
- as-tu bien mis session_start() au début de tous les fichiers ? oui
- dans quel fichier affectes-tu ta variable session ? le premier
- dans quel fichier tu la lis ? dans le deuxieme
- fais un test echo $_SESSION['xxx'] j ai testé ca n fonctionne pas
- as-tu bien mis session_start() au début de tous les fichiers ? oui
- dans quel fichier affectes-tu ta variable session ? le premier
- dans quel fichier tu la lis ? dans le deuxieme
- fais un test echo $_SESSION['xxx'] j ai testé ca n fonctionne pas
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fais 2 fichiers test :
a.php :
<?
session_start();
$_SESSION['x']=1;
?>
<a href='b.php'>lien</a>
et
b.php :
<? session_start();
echo "x=".$_SESSION['x'];
?>
ca donne quoi qd tu lances a.php et que tu cliques sur le lien ?
a.php :
<?
session_start();
$_SESSION['x']=1;
?>
<a href='b.php'>lien</a>
et
b.php :
<? session_start();
echo "x=".$_SESSION['x'];
?>
ca donne quoi qd tu lances a.php et que tu cliques sur le lien ?
ca marche
x=1
c vraiment bizarre est ce que le fait d avoir de sincludes pose probleme je ens que non ...
x=1
c vraiment bizarre est ce que le fait d avoir de sincludes pose probleme je ens que non ...