Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1343 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [php] Sessions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] Sessions

n°1181526
_snif_
Posté le 22-08-2005 à 19:20:36  profilanswer
 

Bonjour à tous.
 
Je suis en train de faire un script en php de type caddie électronique.
 
J'utilise donc des variables de sessions pour stocker le panier du client.
 
Sur l'hébergeur free, lorsque je souhaite remplir une session $_SESSION['panier'], rien ne se passse. Pas de message d'erreur, rien...  
 
Le répertoire sessions à bel et bien été crée à la racine du FTP.
 

Code :
  1. <?
  2. session_start();
  3. session_register('panier');
  4. if(isset($_POST['quantite']))
  5. {
  6.    $ref = $_REQUEST['ref'];
  7.    $qte = $_POST['quantite'];
  8.    if(!isset($_SESSION['panier']))
  9.    $_SESSION['panier']->quantite=array();
  10.    $panier = array();
  11.    $panier = $_SESSION['panier'];
  12.    $_SESSION['panier']->quantite[$ref] = $_POST['quantite'];
  13. }
  14. ?>
  15. <html>
  16. <head>
  17. <title></title>
  18. <link rel='stylesheet' type='text/css' href='style.css'>
  19. <script language='JavaScript'>
  20. function verif()
  21. {
  22.    if (document.ajout.quantite.value=='')
  23.    {
  24.       alert('Veuillez saisir une quantité correcte!');
  25.       return false;
  26.    }
  27.    if (isNaN(document.ajout.quantite.value)==true)
  28.    {
  29.       alert('Veuillez saisir une quantité correcte!');
  30.       return false;
  31.    }
  32. }
  33. </script>
  34. </head>
  35. <body>
  36. <center>
  37. <table id='tbl_principal' border='0' width='95%' height='95%'>
  38. <tr>
  39.    <td align='center' colspan='2' height='20px'>
  40.       <img src='../img/home.gif' border='0'> <a href='../index.php'>Accueil</a>
  41.       <img src='../img/dev.gif' border='0'> <a href='creation.php'>Développement</a><b>
  42.       <a href='materiel.php'>Vente de matériel</a>
  43.       <a href='promo.php'>Promotions</a>
  44.       <a href='devis.php'>Devis</a></b>
  45.       <a href='nous.php'>Qui sommes-nous?</a>
  46.       <img src='../img/contact.gif' border='0'> <a href='contact.php'>Contact</a>
  47.       <img src='../img/cart.gif' border='0'> <a href='panier.php'>Votre panier</a>
  48.    </td>
  49. </tr>
  50. <tr>
  51.    <td valign='top'colspan='2' height='1px'>
  52.       <img src='../img/ban_gris_halo.png' border='0'>
  53.    </td>
  54. </tr>
  55. <tr>
  56.    <td valign='top'>
  57.    <?
  58.    if(!isset($_POST['quantite']))
  59.    {
  60.       echo"<table id='tbl_center' align='center' width='100%'>
  61.          <tr>
  62.             <th>
  63.                <b>Référence</b>
  64.             </th>
  65.             <th>
  66.                <b>Désignation</b>
  67.             </th>
  68.             <th>
  69.                <b>Garantie</b>
  70.             </th>
  71.             <th>
  72.                <b>Prix Client HT</b>
  73.             </th>
  74.             <th>
  75.                <b>Prix Client TTC</b>
  76.             </th>
  77.             <th>
  78.                <b>Quantité</b>
  79.             </th>
  80.          </tr>
  81.       ";
  82.       $ref = $_REQUEST['ref'];
  83.       $query = "SELECT * FROM article WHERE REF = '$ref'";
  84.       include ('connect.inc.php');
  85.       if(!mysql_select_db($db, $connect))
  86.       echo "Erreur de connection à la base de donnée!";
  87.       else
  88.       {
  89.          //Création et envoi de la requête
  90.          $result = mysql_query($query);
  91.          if (!$result)
  92.          echo "Pas d\'article dans la base de donnée";
  93.          else
  94.          {
  95.             $cpt =0;
  96.             //Récupération des résultats
  97.             echo "<form name='ajout' method='POST' action='ajout.php?ref=$ref' OnSubmit='return verif()'>";
  98.             while (list($ref, $des, $px, $gar, $com)=mysql_fetch_row($result))
  99.             {
  100.                include ('calcul.inc.php');
  101.              
  102.                $cpt = $cpt+1;   //Compte le nombre de lignes renvoyées
  103.                echo
  104.                "
  105.                <tr>
  106.                   <td>
  107.                      $ref
  108.                   </td>
  109.                   <td>
  110.                      $des
  111.                   </td>
  112.                   <td>
  113.                      $gar
  114.                   </td>
  115.                   <td>
  116.                      $pxht
  117.                   </td>
  118.                   <td>
  119.                      $pxttc
  120.                   </td>
  121.                   <td align='center'>
  122.                   <input type='text' name='quantite' size='4'>
  123.                   </td>
  124.                </tr>
  125.                <tr>
  126.                   <td align='center'colspan='6'>
  127.                      <input type='submit' value='Ajouter'>
  128.                   </td>
  129.                </tr>
  130.                </table></form>
  131.                ";
  132.             }
  133.          }
  134.       }
  135.       //Déconnection de la base de données
  136.       mysql_close();
  137.    }
  138.    else
  139.    if (count($_SESSION['panier']->quantite)!=0)
  140.    {
  141.       echo "Article ajouté avec succes à votre panier!<br>
  142.       <a href='materiel.php'>Ajouter d'autre produits</a><br><br>
  143.       <a href='panier.php'>Voir le panier</a>";
  144.    }
  145.    else
  146.    echo"Echec!";
  147.    ?>
  148.    </td>
  149. </tr>
  150. </table>
  151. </center>
  152. </body>
  153. </html>


 
 
Tout marche à merveille en local avec EasyPHP 1.8!
 
Si vous pensez savoir d'où viens le problème faites moi signe! Merci par avance!

mood
Publicité
Posté le 22-08-2005 à 19:20:36  profilanswer
 

n°1181573
dwogsi
Défaillance cérébrale...
Posté le 22-08-2005 à 21:12:12  profilanswer
 

Ca vient certainement de free, moi quand je vois un serveur sur lequel on ne peut pas régler les chmod comme on veut ca m'inquiète un peu...
 
Enfin bon concernant les sessions avec free j'ais toujours eus des problème, et c'est l'une des raisons pour lesquelles j'ais quitté free.
 
Mais disons qu'en gros pour faire marcher un script utilisant les sessions chez free faut souvent bidouiller, en passant par d'autres methodes/solutions sans être certain que ca marchera ailleurs, et un "script de caddie" chez free, là ca serait vraiment très inquiètant!


Message édité par dwogsi le 22-08-2005 à 21:21:27

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1181580
Badze
Aime les frites
Posté le 22-08-2005 à 21:30:26  profilanswer
 

je n'ai jamais eu de probleme sous free avec les Sessions
essaie en supprimant "session_register('panier');" en soit elle ne te sert a rien (possible que je dise une connerie, je ne suis pas expert en php).
 
test avec une page simple sous free pour voir ce que ca donne. Mais c'est tout de meme bizarre ton affaire.
 
Juste un ti rappel avec free.
il faut afficher session_start(); en haut de page systematiquement donc attention si tu include cette page ci dans une autre.


Message édité par Badze le 22-08-2005 à 21:32:17
n°1181604
dwogsi
Défaillance cérébrale...
Posté le 22-08-2005 à 21:37:21  profilanswer
 

Badze a écrit :

Juste un ti rappel avec free.
il faut afficher session_start(); en haut de page systematiquement donc attention si tu include cette page ci dans une autre.


 
Qu'est ce que tu entends par "haut de page"?
Parce que si tu veux dire qu'il faut le faire avant d'envoyer quoi que ce soit au client, ca n'est pas propre a free.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1181654
_snif_
Posté le 22-08-2005 à 22:15:20  profilanswer
 

En virant session_register('panier'); ça marche!

n°1181695
Badze
Aime les frites
Posté le 22-08-2005 à 22:38:44  profilanswer
 

dwogsi a écrit :

Qu'est ce que tu entends par "haut de page"?
Parce que si tu veux dire qu'il faut le faire avant d'envoyer quoi que ce soit au client, ca n'est pas propre a free.


 
Ha bon, cela fait longtemps que je n'ai pas utilisé les sessions, je ne m'en rappelais plus.
Bref, la combine a été trouver, c'est le principale.  :D  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [php] Sessions

 

Sujets relatifs
Petite question sur les sessionsUne question bête sur les sessions (isset)
Sessions et identificationPiratage : sécurisation variables de sessions
[PHP] Probleme de sessionssessions phpinfo ?
[php] chez free pb de sessionsle sessions en PHP
sessions & cookies, recuperation info[Résolu] tableaux et sessions
Plus de sujets relatifs à : [php] Sessions


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR