Problem de ssion avc script php

Bonjour,

voila j ai deux fichiers deux script le premier me créer un login le deuxième m affiche le résultat de la création t j veux dans le deuxième récupérer une variable du premier fichier mais ma session ne marche pas je ne comprends pas pourquoi

script 1:

<?php
if (isset($_POST['envoyer'])) {
session_name('ipt');
session_start();
$_SESSION['ss']=$ss;
include 'config.php';
include 'connexion.php';
$result = mysql_query("SELECT COUNT(*) FROM login WHERE ss='".$_POST['ss']."'");
$count = mysql_result($result,0);
if($count== 0)
{

foreach($_POST as $index => $valeur) {
$$index = mysql_real_escape_string(trim($valeur));
}
$sql = "INSERT INTO login VALUES ('', '".$nom."', '".$prenom."','".$naissance."', '".$ss."' )";
$res = mysql_query($sql);
if ($res) { ?>
<meta http-equiv="refresh" content="0;url=confirm_login.php" />
<?php
}

}
else {
?>
<meta http-equiv="refresh" content="0;url=doublon.php" />
<?php

}

}

include("header.php");
include("body_login.php");
include("footer.php");
?>

script 2 :

<?php
session_name('ipt');
session_start();
?>
<div id="globalcont">
<?php
$ss=$_SESSION['ss'];
include 'config.php';
include 'connexion.php';
$msg_ok = "login crée";
?>
<h5> <br />
<?php

echo $sql ="SELECT * FROM login WHERE ss='".$_POST['ss']."'";
$req = mysql_query($sql) or die( mysql_error() ) ;
$total = mysql_num_rows($req);
{

echo '<table class="table" style="border: 1px solid #fff;" "width=100px;">'."\n";
echo '<tr class="trunik">';
echo '<th class="th_modifier" ><b><h5>Nom</h5></b></th>';
echo '<th class="th_modifier" ><b><h5>Prénom</h5></b></th>';
echo '<th class="th_modifier" ><b><h5>Date de naissance</h5></b></th>';
echo '<th class="th_modifier" ><b><h5>id</h5></b></th>';
echo '</tr>'."\n";
while($row = mysql_fetch_array($req))
{
echo '<tr>';
echo '<td class="td_modifier"><h5>'.$row["nom"].'</h5></td>';
echo '<td class="td_modifier"><h5>'.$row["prenom"].'</h5></td>';
echo '<td class="td_modifier"><h5>'.$row["naissance"].'</h5></td>';
echo '<td class="td_modifier"><h5>'.$row["ss"].'</h5></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}

echo $msg_ok;

?></h5>
<div align="center">
<br /><br /><br />
<form method ="post" action="produit.php">
<input type="submit" name="creer" value="Créer un produit"/></div>
</div>
</div>
Configuration: Windows Vista
Firefox 3.0.13

3 réponses

  1. Contributeur
    Une chose élémentaire avec les session : le session_start(); doit être mis avant TOUT

    Donc déjà met le au début.
    Sinon je n'ai pas regardé le code en détail mais je ne vois rien qui m'a choqué.
    1. je veins de rectifier j ai trouver voila ma solution

      $sql ="SELECT * FROM login WHERE ss='".$_SESSION['ss']."'";

      mais je crois que ce n'est pas très sécurisé ....
      1. je pense que la c'est mieux qu'en dits vous ?

        Merci

        $sql ="SELECT * FROM login WHERE ss=(trim('".$_SESSION[mysql_real_escape_string(htmlentities(htmlspecialchars(addslashes('ss'))))]."'))";