IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Script Panier en php4 qui migre ne php5


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut Script Panier en php4 qui migre ne php5
    Bonjour a tous,

    Je suis désolés, la question a du être posée 1000 fois et même si GG est mon ami, je ne parviens pas a adapter mon code et le transformer avec une class panier.

    Je m’explique.

    Récemment j'étais hébergé sous php4 et mon script de panier fonctionnait parfaitement, ais depuis que mon hébergeur est passé en PHP, plus aucune session ne tient !!

    Voici mon code :

    index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <? 
    if( isset($_SESSION['panier'])){$panier = $_SESSION['panier'];	$totcde=0; echo '<div class="divpanier"><a href="panier.php" target="_blank" title="Mon Panier contient : '.$valeur.'">';require('inc_connect.php');foreach ($panier as $valeur=>$cde){$totcde+=$cde;}echo $totcde.'</a></div>';}?>
    page.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    if(isset($_POST['action']) and $_POST['action']=="Commander")
    	{
    		$idP=$_POST['idP'];
    		$qte=$_POST['qte'];
    		if( empty($panier[$idP])){$panier[$idP]=$qte;}
    		else{$panier[$idP]+=$qte;}
    	}
    if(isset($_POST['action']) and $_POST['action']=='Eliminer')
    	{
    		if(empty($_POST['case']) ){exit;}
    		foreach ($_POST['case'] as $delete){unset($panier[$delete]);}?><script ="Javascript">location.replace('panier.php');</script><? exit;}
    if(isset($_POST['action']) and $_POST['action']=='Changer')
    	{
    		if(empty($_POST['case']) ){exit;}?>
    		<form method="POST" action=""><? 
    		require('inc_connect.php');
    		foreach($_POST['case'] as $modif)
    			{
    				$sql="Select* from produits where idP='$modif'";
    				$req=mysql_query($sql,$connexion) or exit ('Erreur SQL !'.$sql.'<br>'.mysql_error());
    				while( $data=mysql_fetch_array($req) ) 
    					{echo"<b>Produit :</b>  <i>".$data['nom']."</i><br><b>Quantité commandée :</b> <input type='text' name='exqte[$modif]' value='".$panier[$modif]."' size='2'><hr>";
    					}
    			}
    			mysql_close();?>
    		<input type="submit" name="action" value="OK">
    		</form>
    			<?
    	}
    if(isset($_POST['action']) and $_POST['action']=='OK')
    	{
    		if(empty($_POST['exqte']) ){exit;}
    		foreach ($_POST['exqte'] as $type =>$nbre)
    			{
    			if( $nbre==0 or empty($nbre))
    				{
    					unset($panier[$type]);
    				}
    			$panier[$type]=$nbre;
    			}?> <script ="Javascript">location.replace('panier.php');</script><? exit;}
     
    $panier = $panier;
    echo "panier : $panier<br>";
    le fichier panier.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
     
    <?php
    include ('config.php');
    session_start();
    if(isset($_POST['action']) and $_POST['action']=='Supprimer')
    {
    	if(empty($_POST['case']) )
    	{
    		echo '<script ="Javascript">history.go(-1);</script>';
    		exit;
    	}
    	foreach ($_POST['case'] as $delete)
    	{
    		unset($_SESSION['panier'][$delete]);
    	}
    	echo '<script ="Javascript">location.replace(\'panier.php\');</script>';
    	exit;
    }
    if(isset($_POST['action']) and $_POST['action']=='Vider mon Panier'){ session_destroy(); header("Location: http://www.nomdusite.com"); }
    ?>
    <br><br>
    <?php
     
    							if( isset($_SESSION['panier']))
    							{
    							$panier = $_SESSION['panier'];
    							$tot=0;
    							echo '
    							<form action="panier.php" method="post">
    							   	<section class="cart-section cart-section_cart-listing">
    								<header><h2>Vos Achats sur xxxxxx.com</h2></header>
    								<table class="table table-bordered cart-summary">
    									<thead>
    									<th class="table-column__name">Produit</th>
    									<th class="table-column__sku">Reference</th>
    									<th class="table-column__price">Prix</th>
    									<th class="table-column__qty">Quantité</th>
    									<th class="table-column__total">Total</th>
                                        <th class="table-column__tax">Supprimer</th>
    									</thead>
    								    <tbody>';
    									require(connect.php');
    									$totref="";$totnom="";
    									foreach ($panier as $valeur=>$cde)
    									{
    										$req=mysql_query("select * from prod where idP='$valeur'");
    										while( $data=mysql_fetch_array($req) )
    										{
    										$titre=$data['titre'];$photo=$data['photo'];$prix=$data['prix'];$pxligne=$prix*$cde;
    										$tot+=$pxligne;
    										$refsour=$data['ref_source'];$totref.=$refsour.'['.$cde.'] + ';
    										$nomsour=$data['titre'];$totnom.=$nomsour.'['.$cde.'] + ';
    										echo '<tr class="cart-product">
    												<td data-title="Nom Produit" class="cart-product_name"><div class="product-image"><img src="'.$photo.'" alt="'.$titre.'" style=""/></div>
    												<span class="product-name"><a href="" >'.$titre.'</a></span></td>
    												<td data-title="Reference" class="cart-product_sku">'.$data['ref_source'].'</td>
    												<td data-title="Prix" class="cart-product_price"><div class="PricesalesPrice vm-display vm-price-value"><span class="vm-price-desc"></span>
    												<span class="PricesalesPrice">'.$prix.'€</span></div></td>
    												<td data-title="Quantité" class="cart-product_qty"><div class="qty-control">'.$cde.'</div></td>
    												<td  data-title="Soustotal" class="cart-product_total"><div class="PricesalesPrice vm-display vm-price-value"><span class="vm-price-desc"></span>
    												<span class="PricesalesPrice">'; $pxligne=number_format($pxligne, 2,'.',' '); echo ''.$pxligne.'€</span></div> </td>
    												<td data-title="Supprimer" class="cart-product_tax"><input type="checkbox" name="case[]" value="'.$data['idP'].'">&nbsp;
    												<input type="submit" name="action" value="Supprimer"></td>
    											  </tr>';
    										}
    									}
    							echo '</tbody>';
    							echo '<tbody>
    									<tr class="cart-product">
    										<td data-title="Total" class="cart-product_name" colspan="4"><span class="product-name">Total</span></td>
    										<td data-title="" class="cart-product_total"><div class="PricesalesPrice vm-display vm-price-value"><span class="vm-price-desc"></span>
    										<span class="PricesalesPrice">'; $tot=number_format($tot, 2,'.',' '); echo '<b>'.$tot.'€</b></span></div></td>
    										<td data-title="" class="cart-product_tax"></td>
    									</tr>';
    							echo '</tbody>
    							</table>
    							</section>
     
    							<br><input type="submit" name="action" value="Vider mon Panier">
     
     
    						</form>';
    						}
    
    				  echo '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
    							<input type="hidden" name="cmd" value="_cart">
    							<input type="hidden" name="upload" value="1">';
    							$i=0;
    							foreach ($panier as $valeur=>$cde)
    							{
    								$i=$i+1;
    								$req=mysql_query("select * from prod where idP='$valeur'");
    								while( $data=mysql_fetch_array($req) )
    								{
    									$titre=$data['titre'];$photo=$data['photo'];$prix=$data['prix'];$pxligne=$prix*$cde;
    									$tot+=$pxligne;
    									$refsour=$data['ref_source'];$totref.=$refsour.'['.$cde.'] + ';
    									$nomsour=$data['titre'];$totnom.=$nomsour.'['.$cde.'] + ';
    									echo '<input name="amount_'.$i.'" type="hidden" value="'.$prix.'"/>
    										  <input name="quantity_'.$i.'" type="hidden" value="'.$cde.'"/>
    										  <input name="item_name_'.$i.'" type="hidden" value="'.$titre.'"/>
    										  <input name="item_number_'.$i.'" type="hidden" value="'.$refsour.'"/>';
    									$i=$i;
    								}
    							}
    							echo '
    							<input name="currency_code" type="hidden" value="EUR" />
    							<input name="shipping" type="hidden" value="9.50" />
    							<input name="tax" type="hidden" value="0.00" />
    							<input name="return" type="hidden" value="http://www.xxxxxx.com/paypal-confirmation.php" />
    							<input name="cancel_return" type="hidden" value="http://www.xxxxxx.com/panier.php" />
    							<input name="notify_url" type="hidden" value="http://www.xxxxxx.com/paypal-remerciement.php" />
    							<input name="business" type="hidden" value="xxxxxx@hotmail.fr" />
    							<input name="lc" type="hidden" value="FR" />
    							<input name="bn" type="hidden" value="PP-BuyNowBF" />
    							<section class="cart-section cart-section__login">
    								<header><h2>Payer mon Panier</h2></header>
    									<div class="cart_login">
    									    <div class="container2">
    							        		<div class="row">
    										        <div class="col-lg-8 col-md-8 col-sm-6 col-xs-12">
    						        					<div class="row">
    		               									<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
    															<input alt="Effectuez vos paiements via PayPal : une solution rapide, gratuite et sécurisée" name="submit" src="https://www.paypal.com/fr_FR/FR/i/btn/btn_buynow_LG.gif" type="image" /><img src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" border="0" alt="" width="1" height="1" />
    										                 </div>
    								          			</div>
    										        </div>
    											</div>
    										</div>
    									</div>
    							</section>
    					</form>
    					';
    					?>

    J'ai donc tenté de passer par une class, mais avec tout mon code modifié ci-dessus, je me perds complétement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?php
     
     class Panier {
        private $prixTotal;
        private $produit;
        public function __construct() {
            $this->prixTotal = 0;
            $this->produit = array();   
        }
        public function getPrixTotal()
        {
            return $this->prixTotal;
        }
     
        public function getProduit()
        {
            return $this->produit;
        }
     
        public function getNombreProduit()
        {
            return count($this->produit);
        }
        public function setPrixTotal($prix)
        {
            $this->prixTotal = $prix;
        }
        public function addProduit($id, $nombre)
        {
            $requete = mysql_query("SELECT * FROM prod WHERE idP='".$id."'");
            $donnees = mysql_fetch_array($requete);
            $this->prixTotal += $donnees['prix']*$nombre;
            $this->produit[$this->getNombreProduit()] = array($id, $nombre);
        }
        public function __destruct() {
        }
     }
     ?>
    MERCI MILLLLLLES FOIS a ceux qui prendront le temps de me lire et pourront m'aider, il est 6h48 bon courage a tous pour cette journée
    Olivier

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    PHP5 n'oblige pas le passage en POO.

    Ce que je vois déjà dans ton index.php c'est que tu utilises <? au lieu de <?php et qu'il manque le session_start()

    Ligne 42 de panier.php tu as un ' qui traine dans le require.

    Tu dis que les sessions "ne tiennent pas", tu as testé un cas simple pour voir si le serveur fonctionnait bien ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut
    Bonjour Sabotage et merci pour ta réponse,

    J'ai du mal m'exprimer car je ne voulais pas dire que php5 exigeait le POO, juste que mon code ne conservait les sessions car mon panier passe a zero des que je change de page, alors que tout fonctionnait sous php4

    "Ce que je vois déjà dans ton index.php c'est que tu utilises <? au lieu de <?php et qu'il manque le session_start()"
    OK j'ai modifié <? par <?php, mais en fait ce n'est pas en revenant sur l'index que je perds la session (dans mon code il y avait bien le session_start(), je l'ai oublié dans mon post plus haut)) , mais juste en rafraichissant la page page.php pour ajouter d'autres produits dont je ne pense pas que cela vienne du session_start().

    Ligne 42 de panier.php tu as un ' qui traine dans le require.
    La encore c'est juste en copiant collant sur ce post que j'ai effacé le ' avant le mot connect, mais il est bien ecrit dans mon code initial)

    Oui j'ai essayé avec un code plus simple comme le dernier indiqué et cela fonctionne, mais pas le mien

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est-ce que tu peux nous montrer le vrai code de page.php alors ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut
    J'ai du les simplifier car ils etaient trop longs avec tous les javascript, les css etc... donc :

    page.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    <?php
    include ('config.php');
    session_start();
    $panier = $_SESSION['panier'];
    if(isset($_POST['action']) and $_POST['action']=="Commander")
    	{
    		$idP=$_POST['idP'];
    		$qte=$_POST['qte'];
    		if( empty($_SESSION['panier'][$idP])){$_SESSION['panier'][$idP]=$qte;}
    		else{$_SESSION['panier'][$idP]+=$qte;}
    	}
    if(isset($_POST['action']) and $_POST['action']=='Eliminer')
    	{
    		if(empty($_POST['case']) ){exit;}
    		foreach ($_POST['case'] as $delete){unset($_SESSION['panier'][$delete]);}?><script ="Javascript">location.replace('panier.php');</script><?php exit;}//fin delete
    if(isset($_POST['action']) and $_POST['action']=='Changer')
    	{
    		if(empty($_POST['case']) ){exit;
    }
    ?>
    <form method="POST" action="">
    <?php 
    		require('inc_connect.php');
    		foreach($_POST['case'] as $modif)
    			{
    				$sql="Select* from produits where idP='$modif'";
    				$req=mysql_query($sql,$connexion) or exit ('Erreur SQL !'.$sql.'<br>'.mysql_error());
    				while( $data=mysql_fetch_array($req) ) 
    					{echo"<b>Produit :</b>  <i>".$data['nom']."</i><br><b>Quantité commandée :</b> <input type='text' name='exqte[$modif]' value='".$_SESSION['panier'][$modif]."' size='2'><hr>";
    					}
    			}
    			mysql_close();?>
    		<input type="submit" name="action" value="OK">
    		</form>
    			<?
    	}
     
     
    if(isset($_POST['action']) and $_POST['action']=='OK')
    	{
    		if(empty($_POST['exqte']) ){exit;}
    		foreach ($_POST['exqte'] as $type =>$nbre)
    			{
    			if( $nbre==0 or empty($nbre))
    				{
    					unset($_SESSION['panier'][$type]);
    				}
    			$_SESSION['panier'][$type]=$nbre;
    			}?> <script ="Javascript">location.replace('panier.php');</script><?php exit;}
    $panier = $_SESSION['panier'];
    header('Content-type: text/html; charset=utf-8');
     
    if( isset($_SESSION['panier'])){$panier = $_SESSION['panier'];	$totcde=0; echo '<div class="divpanier"><a href="http://www.nomdusite.com/panier.php" target="_blank" title="Mon Panier contient : '.$valeur.'">';require('inc_connect.php');foreach ($panier as $valeur=>$cde){$totcde+=$cde;}echo $totcde.'</a></div>';}
     
     if ($idP<>'0' and $idP<>''){echo "<p>$description<br><br><form method='POST' action=''><table><tr><td style='width:100px'>Quantité : </td><td style='width:100px'><SELECT style='width: 80px; height:30px' id='qte' name='qte'><option disabled selected='selected'>NB</option>";for ($i = 1; $i <= 20; $i++) {echo "<option value='$i'>$i</option>";}echo "</SELECT></td><td style='width:100px'><input type='submit' name='action' value='Commander'><input name='idP' type='hidden' value='".$idP."'></td></tr></table></form></p>";} else {echo $texte;} echo "<br>$video</p>";?>

    panier.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
     
    <?php
    include ('config.php');
    session_start();
    if(isset($_POST['action']) and $_POST['action']=='Supprimer')
    {
    	if(empty($_POST['case']) )
    	{
    		echo '<script ="Javascript">history.go(-1);</script>';
    		exit;
    	}
    	foreach ($_POST['case'] as $delete)
    	{
    		unset($_SESSION['panier'][$delete]);
    	}
    	echo '<script ="Javascript">location.replace(\'panier.php\');</script>';
    	exit;
    }
    if(isset($_POST['action']) and $_POST['action']=='Vider mon Panier'){ session_destroy(); header("Location: http://www.nomdusite.com"); }
     
    $panier = $_SESSION['panier'];
    echo "panier : $panier<br>";
    if( isset($_SESSION['panier'])){
    $panier = $_SESSION['panier'];	$totcde=0; echo '<div class="divpanier"><a href="http://www.nomdusite.com/panier.php" target="_blank" title="Mon Panier contient : '.$valeur.'">';require('inc_connect.php');foreach ($panier as $valeur=>$cde){$totcde+=$cde;}echo $totcde.'</a></div>';}
     
     
    if( isset($_SESSION['panier']))
    							{
    							$panier = $_SESSION['panier'];
    							$tot=0;// initialisation du total.
    							echo '
    							<form action="panier.php" method="post">
    							   	<section class="cart-section cart-section_cart-listing">
    								<header><h2>Vos Achats sur nomdusite.com</h2></header>
    								<table class="table table-bordered cart-summary">
    									<thead>
    									<th class="table-column__name">Produit</th>
    									<th class="table-column__sku">Reference</th>
    									<th class="table-column__price">Prix</th>
    									<th class="table-column__qty">Quantité</th>
    									<th class="table-column__total">Total</th>
                                        <th class="table-column__tax">Supprimer</th>
    									</thead>
    								    <tbody>';
    									require('inc_connect.php');
    									$totref="";$totnom="";
    									foreach ($panier as $valeur=>$cde)
    									{
    										$req=mysql_query("select * from produits where idP='$valeur'");
    										while( $data=mysql_fetch_array($req) )
    										{
    										$titre=$data['titre'];$photo=$data['photo'];$prix=$data['prix'];$pxligne=$prix*$cde;
    										$tot+=$pxligne;
    										$refsour=$data['ref_source'];$totref.=$refsour.'['.$cde.'] + ';
    										$nomsour=$data['titre'];$totnom.=$nomsour.'['.$cde.'] + ';
    										echo '<tr class="cart-product">
    												<td data-title="Nom Produit" class="cart-product_name"><div class="product-image"><img src="'.$photo.'" alt="'.$titre.'" style=""/></div>
    												<span class="product-name"><a href="" >'.$titre.'</a></span></td>
    												<td data-title="Reference" class="cart-product_sku">'.$data['ref_source'].'</td>
    												<td data-title="Prix" class="cart-product_price"><div class="PricesalesPrice vm-display vm-price-value"><span class="vm-price-desc"></span>
    												<span class="PricesalesPrice">'.$prix.'€</span></div></td>
    												<td data-title="Quantité" class="cart-product_qty"><div class="qty-control">'.$cde.'</div></td>
    												<td  data-title="Soustotal" class="cart-product_total"><div class="PricesalesPrice vm-display vm-price-value"><span class="vm-price-desc"></span>
    												<span class="PricesalesPrice">'; $pxligne=number_format($pxligne, 2,'.',' '); echo ''.$pxligne.'€</span></div> </td>
    												<td data-title="Supprimer" class="cart-product_tax"><input type="checkbox" name="case[]" value="'.$data['idP'].'">&nbsp;
    												<input type="submit" name="action" value="Supprimer"></td>
    											  </tr>';
    										}
    									}
    							echo '</tbody>';
    							echo '<tbody>
    									<tr class="cart-product">
    										<td data-title="Total" class="cart-product_name" colspan="4"><span class="product-name">Total</span></td>
    										<td data-title="" class="cart-product_total"><div class="PricesalesPrice vm-display vm-price-value"><span class="vm-price-desc"></span>
    										<span class="PricesalesPrice">'; $tot=number_format($tot, 2,'.',' '); echo '<b>'.$tot.'€</b></span></div></td>
    										<td data-title="" class="cart-product_tax"></td>
    									</tr>';
    							echo '</tbody>
    							</table>
    							</section>
    							
    							<br><input type="submit" name="action" value="Vider mon Panier">
    							
    							
    						</form>';
    						}
     
    				  echo '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
    							<input type="hidden" name="cmd" value="_cart">
    							<input type="hidden" name="upload" value="1">';
    							$i=0;
    							foreach ($panier as $valeur=>$cde)
    							{
    								$i=$i+1;
    								$req=mysql_query("select * from produits where idP='$valeur'");
    								while( $data=mysql_fetch_array($req) )
    								{
    									$titre=$data['titre'];$photo=$data['photo'];$prix=$data['prix'];$pxligne=$prix*$cde;
    									$tot+=$pxligne;
    									$refsour=$data['ref_source'];$totref.=$refsour.'['.$cde.'] + ';
    									$nomsour=$data['titre'];$totnom.=$nomsour.'['.$cde.'] + ';
    									echo '<input name="amount_'.$i.'" type="hidden" value="'.$prix.'"/>
    										  <input name="quantity_'.$i.'" type="hidden" value="'.$cde.'"/>
    										  <input name="item_name_'.$i.'" type="hidden" value="'.$titre.'"/>
    										  <input name="item_number_'.$i.'" type="hidden" value="'.$refsour.'"/>';
    									$i=$i;
    								}
    							}
    							echo '
    							<input name="currency_code" type="hidden" value="EUR" />
    							<input name="shipping" type="hidden" value="9.50" />
    							<input name="tax" type="hidden" value="0.00" />
    							<input name="return" type="hidden" value="http://www.nomdusite.com/paypal-confirmation.php" />
    							<input name="cancel_return" type="hidden" value="http://www.nomdusite.com/panier.php" />
    							<input name="notify_url" type="hidden" value="http://www.nomdusite.com/paypal-remerciement.php" />
    							<input name="business" type="hidden" value="email@email.com" />
    							<input name="lc" type="hidden" value="FR" />
    							<input name="bn" type="hidden" value="PP-BuyNowBF" />
    							<section class="cart-section cart-section__login">
    								<header><h2>Payer mon Panier</h2></header>
    									<div class="cart_login">
    									    <div class="container2">
    							        		<div class="row">
    										        <div class="col-lg-8 col-md-8 col-sm-6 col-xs-12">
    						        					<div class="row">
    		               									<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
    															<input alt="Effectuez vos paiements via PayPal : une solution rapide, gratuite et sécurisée" name="submit" src="https://www.paypal.com/fr_FR/FR/i/btn/btn_buynow_LG.gif" type="image" /><img src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" border="0" alt="" width="1" height="1" />
    										                 </div>
    								          			</div>
    										        </div>
    											</div>
    										</div>
    									</div>
    							</section>
    					</form>
    					';
    					?>

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Honnêtement ton code est très confus et mal présenté et ne donne malheureusement pas envie de l'étudier.

    Par exemple je cite panier.php ligne 21-27 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $panier = $_SESSION['panier'];
    if( isset($_SESSION['panier'])){
    $panier = $_SESSION['panier'];	 
    if( isset($_SESSION['panier']))
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut
    Je ne suis pas un expert désolés, j'apprends, je tentes d'assimiler et oui je peux être hyper confus, mais au moins je tente, et c'est parce que je n'arrive pas que je demande conseil.

    Maintenant parce que tu m'as deja répondu, je te remercie de ton intérêt, mais si c'est pour me dire que je ne t'interesse pas, ben je pense que d'habitude tu es plus sympa dans tes réponses et cela semble loin de l'esprit du forum.

    Bref .... merci de ta non aide et désolés de ne pas t'interesser !!!

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il n'y a pas besoin d'être expert pour bien présenter son code.
    Je n'ai pas dit que ton problème ne m'intéressait pas, et j'ai passé du temps dessus, j'ai dit que j'avais baissé les bras parce que démêler 200 lignes de code c'est difficile.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je tombe un peu comme un cheveu sur la soupe, mais...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    include ('config.php');
    session_start();
    Si le fichier config.php contient des variables de SESSION... alors le session_start() est mal placé !
    Généralement, on le met en toute première ligne.

    Cela dit, je trouve ta réflexion à sabotage très malvenue , surtout compte tenu de son investissement dans la discussion !
    Nettoyer/indenter correctement son code est le moins qu'on puisse/doive faire, surtout quand on demande de l'aide.


    1/ On n'écrit plus <script ="Javascript"> depuis le siècle dernier...
    [EDIT] En fait, même,... jamais !
    <script type="text/javascript"> ou juste <script>.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<script ="Javascript">history.go(-1);</script>';
    Il vaut mieux faire une redirection en PHP :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    header('location: ....'); exit;
    !

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut
    @sabotage
    Il n'y a pas besoin d'être expert pour bien présenter son code.
    Je n'ai pas dit que ton problème ne m'intéressait pas, et j'ai passé du temps dessus, j'ai dit que j'avais baissé les bras parce que démêler 200 lignes de code c'est difficile.[/QUOTE]

    Je te remercie pour le temps que tu as passé, bien qu'il ne m'apporte pas de solution malheureusement pour moi, c'est déjà hyper bien que quelqu'un tente de m'aider .

    @jreaux62
    Et je trouve cette réflexion hautement déplacée étant entendu que j'ai fais preuve de respect et de reconnaissance dans mes propos a Sabotage, et que jusqu'a maintenant on a quand meme le droit fuste t'il encore d'y mettre les formes, de faire part de son mécontentement, que l'on ait bien ou mal interprété les propos, aux protagonistes de s'en expliquer et a celui qui a tort de s'en excuser... ton pouce rouge est donc plus que mal venu, a moins que c’était pour faire de zel entre admin ???

    Ceci étant, je n'ai eu de cesse, même quand je me suis plains de la réponse de Sabotage, en mal interprétant ses propos certainement de hautement le remercier de son intérêt, ici, et de façon générale pour toutes ces contributions.

    Il y a sur ce forum bien des personnes ne faisant pas preuve d'autant de respect et de reconnaissance que moi dans ces propos, il ne faudrait pas avoir la gâchette aussi rapide cher jreaux62 , le Rédacteur/Modérateur hautement respecté et compétent que tu es, aura t il l'humilité de le reconnaitre ??

    Entre gentlemen que nous sommes je l'espère.

    Excellente journée a tous et merci pour vos réponses.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Ah ! Ca pique aux yeux, un pouce rouge !!
    Citation Envoyé par kaolivier Voir le message
    .... merci de ta non aide et désolés de ne pas t'interesser !!!
    Ca, je ne l'ai pourtant pas inventé !

    Cela dit, j'apprécie ta franchise, et j'ai enlevé le sur ton précédent message
    Bonne journée aussi

    N.B. J'avais aussi mis des solutions.
    Tu n'y a pas répondu...

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 653
    Par défaut
    J'ai appliqué tes solutions et malheureusement les sessions se perdent quand meme, donc j'ai decidé de revenir a la base, simplifier et nettoyer mon script pour trouver ou se situe l'erreur et .. voici 3 fichiers :

    form1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php if ($_GET['action'] == 'logout'){
    session_start();
    $_SESSION = array();
    session_destroy();echo "detruire la session<br>";} ?>
     
    <form class="form-login" method="post" name="login" action="form2.php">
    <input type="text" class="form-control" id="username" name="username" placeholder="Pseudo"><br />
    <input type="password" class="form-control password" id="password" name="password" placeholder="Mot de passe"><br />
    <button type="submit" name="submit" class="btn btn-bricky pull-right">Connexion</button>
    </form>
    form2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    session_start();
    include ('session.php');
    echo "<a href='form1.php?action=logout'>logout</a>";
    ?>
    session.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?php
    if(isset($_SESSION['username']) and isset($_SESSION['password'])) {$cmail=$_SESSION['username'];$cpass=$_SESSION['password'];echo "1 - Cmail : $cmail | Cpass : $cpass<br>";}
     
    if(isset($_POST['username']) and isset($_POST['password']))
    {
        $_SESSION['username'] = $_POST['username']; $cmail=$_SESSION['username']; 
        $_SESSION['password'] = $_POST['password']; $cpass=$_SESSION['password']; 
    	echo "2 - Cmail : $cmail | Cpass : $cpass<br>";
    }
     
    if ($cmail =="1" and $cpass=="2"){echo "3 - Cmail : $cmail | Cpass : $cpass<br>";}
    else{echo "4 - Cmail : $cmail | Cpass : $cpass<br>";echo "<script type='text/javascript'>document.location.replace('form1.php');</script>";}
     
    ?>
    Pourquoi ce simple script ne permet ni le maintien de la session, ni la destruction ?

    Merci pour vos dévouements à m'aider :-D

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 27/04/2009, 10h08
  2. [Système] Aide pour un script panier d achat
    Par Skippy1 dans le forum Langage
    Réponses: 3
    Dernier message: 06/01/2007, 18h03
  3. Réponses: 1
    Dernier message: 15/08/2006, 01h39
  4. [POO] Qui a migré sous PHP5
    Par mazenovi dans le forum Langage
    Réponses: 16
    Dernier message: 09/11/2005, 10h43
  5. Script panier virtuel
    Par chodaboy34 dans le forum Langage
    Réponses: 3
    Dernier message: 02/11/2005, 17h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo