Problema array_key_exists!

Fabrizio Villa

Utente Attivo
19 Gen 2013
131
0
16
Qualcuno può aiutarmi per favore?
Ecco il codice:
PHP:
{
                      			  if (array_key_exists($i, $_SESSION["commande"]["type"]) && $_SESSION["commande"]["type"] != NULL)
                        			  	{
                        			  		for ($j = 0; $j < $_SESSION["commande"]["quantite"][$i]; $j++)
                        			  		{		  			
                        				  		$desc = str_replace("<br />", " - ", $_SESSION["commande"]["prod"][$i]);
                        				  		$desc = strip_tags($desc);			  		
                        				  		$sqlcommande .= "'', '".date("Y-m-d")."', '".$_SESSION["commande"]["type"][$i]."', '".addslashes($desc)."',".number_format((float)$_SESSION["commande"]["prix"][$i], 2, '.', ' ').""; 		  
                        				  	}
                      			  	  }
                      			   }
 
Mi dà il seguente errore:

Notice: Undefined index: type in C:\xampp\htdocs\MALERBA\Panier\panier_valider.php on line 172

Warning: array_key_exists() expects parameter 2 to be array, null given in C:\xampp\htdocs\MALERBA\Panier\panier_valider.php on line 172

grazie
 
ciao
forse prima di usare array_key_exists ti converrebbe verificare che $_SESSION["commande"]["type"] sia a sua volta un array con is_array e essere sicuro che la sessione esista.
comunque se metti un var_dump
PHP:
<?php
//.....
{
	var_dump($_SESSION["commande"]["type"]);//poi lo togli
	if (array_key_exists($i, $_SESSION["commande"]["type"]) && $_SESSION["commande"]["type"] != NULL){
		for ($j = 0; $j < $_SESSION["commande"]["quantite"][$i]; $j++){                      
			$desc = str_replace("<br />", " - ", $_SESSION["commande"]["prod"][$i]);
			$desc = strip_tags($desc);                      
			$sqlcommande .= "'', '".date("Y-m-d")."', '".$_SESSION["commande"]["type"][$i]."', '".addslashes($desc)."',".number_format((float)$_SESSION["commande"]["prix"][$i], 2, '.', ' ')."";           
		}
	}
} 
//.......
?>
se l'array esiste dovrebbe darti qualcosa del genere
array(2) { [0]=> string(5) "pinco" [1]=> string(5) "pallo" }
 
Ciao,
intanto grazie mille per la risposta.
Ho provato come hai detto a mettere var_dump, ora l'errore è:

Notice: Undefined index: type in C:\xampp\htdocs\MALERBA\Panier\panier_valider.php on line 172
int(0) NULL

Il problema è che non so proprio dove sia questo errore...
ecco il codice intero, se lo trovassi mi saresti di grandissimo aiuto:

PHP:
<?php
$NumeroCommande = date("Gisdm")." - ".date("y");
$TotalCommande = 0;
//On regarde si le paramètre sont correcte
if (isset($_SESSION["commande"]["prod"])){
        if (isset($_POST["tnom"]) && isset($_POST["ttel"])){
                $headers ='From: "Au petit comestible"<[email protected]>'."\n";
                $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
                $headers .='Content-Transfer-Encoding: 8bit';                   
                $cles = array_keys($_SESSION["commande"]["prod"]);                       
                
                if (isset($_POST["tremarques"]))
                        $remarques = $_POST["tremarques"];
                else
                        $remarques = 'Aucune.';
                //Numéro de commande : '.$NumeroCommande.'<br />         
                $messageclients = '<html>
                                                <head>
                                                        <title>
                                                                Votre Commande
                                                        </title>
                                                </head>
                                                <body>
                                                <p>Bonjour '.$_POST["tnom"].', votre commande a bien été prise en compte : <br /><br />
                                                        Téléphone : '.$_POST["ttel"].'<br />
                                                        Heure de passage : '.$_POST["theureh"].'h'.$_POST["theurem"].'<br/>
                                                        
                                        </p>
                                                <table width="600">
                                                  <caption style="font-size:20px;color:#000000;font-weight:bold;">Commande</caption>
                                                  <tr>
                                                         <th style="background:#FFFFFF;color:#000000;">Produit</th>
                                                         <th style="background:#FFFFFF;color:#000000;">Prix</th>
                                                         <th style="background:#FFFFFF;color:#000000;">Quantité</th>
                                                         <th style="background:#FFFFFF;color:#000000;">Sous total</th>
                                                  </tr> ';      
                $tot = 0;
                foreach($cles as $i){
                        if (array_key_exists($i, $_SESSION["commande"]["prod"]))
                        {
                                $_SESSION["commande"]["prix"][$i] = str_replace(",", ".", $_SESSION["commande"]["prix"][$i]);
                                $soustot = (float)$_SESSION["commande"]["prix"][$i] * (float)$_SESSION["commande"]["quantite"][$i];
                                
                                
                                $messageclients .=  '<tr>
                                                <td style="border:#000000 solid 1px;">
                                                                        '.stripslashes($_SESSION["commande"]["prod"][$i]).'
                                                                </td>
                                                                <td style="text-align:right;border:#000000 solid 1px;">
                                                                        '.$_SESSION["commande"]["prix"][$i].' CHF
                                                                </td>
                                                                <td style="text-align:center;border:#000000 solid 1px;">
                                                                        '.$_SESSION["commande"]["quantite"][$i].'
                                                                </td>
                                                                <td style="text-align:right;border:#000000 solid 1px;">
                                                                        '.number_format($soustot, 2, ',', ' ').' CHF
                                                                </td>                                                           
                                                          </tr>';
                                $tot += $soustot;
                        }          
                }
                $messageclients .= '</table><div style="text-align:right;margin-top:10px;width:600px;color:#000000;font-size:18px;">
                                                Total : '.number_format($tot, 2, ',', ' ').' CHF</div>
                                                <br /><br />
                                                Remarques : '.$remarques.'
                                                </body></html>';
                //Numéro de commande : '.$NumeroCommande.'<br />                                                                                  
                $message = '<html>
                                                <head>
                                                        <title>
                                                                Nouvelle commande
                                                        </title>
                                                </head>
                                                <body>
                                                <p>
                                                        Nom : '.$_POST["tnom"].'<br /> 
                                                        Téléphone : '.$_POST["ttel"].'<br />
                                                        Email : '.$_POST["tmail"].'<br >
                                                        Heure de passage : '.$_POST["theureh"].'h'.$_POST["theurem"].'<br/>
                                                        Remarques : '.$remarques.' <br />
                                                        
                                        </p>
                                                <table width="600">
                                                  <caption style="font-size:20px;color:#000000;font-weight:bold;">Commande</caption>
                                                  <tr>
                                                         <th style="background:#FFFFFF;color:#000000;font-size:12px;">Quantité</th>
                                                         <th style="background:#FFFFFF;color:#000000;font-size:12px;">Produit</th>
                                                         <th style="background:#FFFFFF;color:#000000;font-size:12px;">Prix</th>
                                                         <th style="background:#FFFFFF;color:#000000;font-size:12px;">Sous total</th>
                                                  </tr>';
                $tot = 0;
                foreach($cles as $i){
                        if (array_key_exists($i, $_SESSION["commande"]["prod"]))
                        {
                                $_SESSION["commande"]["prix"][$i] = str_replace(",", ".", $_SESSION["commande"]["prix"][$i]);
                                $soustot = (float)$_SESSION["commande"]["prix"][$i] * (float)$_SESSION["commande"]["quantite"][$i];
                                $_SESSION["commande"]["prix"][$i] = str_replace(".", ",", $_SESSION["commande"]["prix"][$i]);
                                
                                $message .=  '<tr>
                                                                <td style="border:#000000 solid 1px;text-align:center;">
                                                                        '.$_SESSION["commande"]["quantite"][$i].'
                                                                </td>
                                                <td style="border:#000000 solid 1px;">
                                                                        '.stripslashes($_SESSION["commande"]["prod"][$i]).'
                                                                </td>
                                                                <td style="text-align:right;border:#000000 solid 1px;">
                                                                        '.$_SESSION["commande"]["prix"][$i].' 
                                                                </td>
                                                                <td style="text-align:right;border:#000000 solid 1px;">
                                                                        '.number_format($soustot, 2, ',', ' ').' CHF
                                                                </td>                                                           
                                                          </tr>';
                                $tot += $soustot;
                        }          
                }
                $message .= '</table><div style="text-align:right;margin-top:10px;width:600px;color:#000000;font-size:18px;">
                                                Total : '.number_format($tot, 2, ',', ' ').' CHF</div></body></html>';
                        
                $mail = $params["mail"];
                
                if(@mail($mail, 'Commande Au petit comestible', $message, $headers) && @mail($_POST["tmail"], 'Commande Au petit comestible', $messageclients, $headers))
                {
                          echo '<br /><div style="text-align:center;margin-top:10px;width:600px;color:#000000;font-size:18px;">Commande envoyée! Un Email de confirmation a été envoyé à l\'adresse :<br /><i> '.$_POST["tmail"].'</i></div>'; 
                                                    
                          
                          echo  
                          '<div class="paypal">
                            <p>Si vous souhaitez payer à l\'avance par carte de crédit, cliquez ici:</p>
                            <form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
                            <input type="hidden" name="cmd" value="_cart">
                            <input type="hidden" name="business" value="[email protected]">
                            <input type="hidden" name="lc" value="CH">
                            <input type="hidden" name="item_name" value="Commande">
                            <input type="hidden" name="amount" value="'.$tot.'">
                            <input type="hidden" name="currency_code" value="CHF">
                            <input type="hidden" name="button_subtype" value="products">
                            <input type="hidden" name="no_note" value="0">
                            <input type="hidden" name="add" value="1">
                            <input type="hidden" name="bn" value="PP-ShopCartBF:btn_cart_LG.gif:NonHostedGuest">
                            <input type="image" src="https://www.paypalobjects.com/fr_FR/CH/i/btn/btn_paynowCC_LG.gif" border="0" name="submit" alt="PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !">
                            <img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
                            </form>
                           <br /> 
                           <br />
                           <br />                           
                            <div class="iscrizione2">
                            <table>
                            <tr><td><img src="Images/Design/news.png"></td>
                            <td>      
                            <form action="http://admin.infomaniak.com/mail/mailinglist_process.php" method="POST"> 
                            <b>Inscrivez-vous</b> gratuitement à notre news-letter pour recevoir les actualités de la semaine!<br />
                            Insérez votre adresse e-mail ici:
                            <input type="hidden" name="maillist" value="bmV3c2xldHRlckBhdXBldGl0Y29tZXN0aWJsZS5uZXQ="> 
                            <input type="text" name="email">
                            <input type="hidden" name="action" value="add">
                            <input type="hidden" name="url" value="http://aupetitcomestible.net/iscrizione.html">
                            <input type="submit" name="add" value="Inscription">
                            </form></td></tr>
                            </table>
                            </div></div>';                         
                             $sqlcommande = 'INSERT INTO tstat (idstat, datecommande, champtype, description, prix) VALUES'; 
            			  			  
                      			  foreach($cles as $i)
                      			  {
                      			  if (array_key_exists($i, $_SESSION["commande"]["type"]) && $_SESSION["commande"]["type"] != NULL)
                        			  	{
                        			  		for ($j = 0; $j < $_SESSION["commande"]["quantite"][$i]; $j++)
                        			  		{		  			
                        				  		$desc = str_replace("<br />", " - ", $_SESSION["commande"]["prod"][$i]);
                        				  		$desc = strip_tags($desc);			  		
                        				  		$sqlcommande .= "'', ".date("Y-m-d").", '".$_SESSION["commande"]["type"][$i]."', '".addslashes($desc)."', ".number_format((float)$_SESSION["commande"]["prix"][$i], 2, '.', ' ').""; 		  
                        				  	}
                      			  	  }
                      			   }
                      			  
                      			  $sqlcommande = substr($sqlcommande, 0, strlen($sqlcommande)-1);
                      			  $sqlcommande .= ";";
                }       

                }
               
                else
                        echo '<br />Erreur répéter l\'opération.<div class="spa"></div>';
              
        }


?>
 
ciao
il primo che vedo, mi sembra= è che manchi session_start (l'istruzione session_start deve essere presente in tutte le pag dove usi le sessioni)

PHP:
<?php
session_start();
$NumeroCommande = date("Gisdm")." - ".date("y");
$TotalCommande = 0;
//ecc...
?>
per gli altri (spero che non xi siano) devi avere pazienza
 
Ciao,
tutta la pazienza del mondo, anzi, solo grazie!
La sessione è già iniziata su un'altra pagina.
In questa c'è il carrello con tutti gli "ordini":
PHP:
<?php
echo('<script>');
echo('$(document).ready(function(){');
echo('var d = new Date();');
echo('$("#theurem").val(d.getMinutes() + d.getTime());');
echo('$("#theureh").val(d.getHours());');
echo('});');
echo('</script>');
*/

echo '<p class="PCentrer">
	  	  <span class="Titre">Votre panier</span>
		  <br /><br />';

//On prend les heures et on ajoute 40min de delai
$heure = @split(':', date('H:i', mktime(date('H'), date('i') + 40, date('s'), date('m'), date('d'), date('Y')))); 

//Affichage de la commande  
if (isset($_SESSION["commande"]["prod"]))
{
	echo '<table>
			  <caption class="SousTitre1">Commande</caption>
			  <tr>
			   <th>Action</th>
				 <th>Produit</th>
				 <th>Prix</th>
				 <th>Quantité</th>
				 <th>Sous total</th>
			  </tr>';
	$total = 0;
	$cles = array_keys($_SESSION["commande"]["prod"]);	
	foreach($cles as $i)
	{
		if (array_key_exists($i, $_SESSION["commande"]["prod"]))
		{
			$_SESSION["commande"]["prix"][$i] = str_replace(",", ".", $_SESSION["commande"]["prix"][$i]);
			$soustot = (float)$_SESSION["commande"]["prix"][$i] * (float)$_SESSION["commande"]["quantite"][$i];
			
		  
			
			echo '<tr>
				  <td><a href="index.php?page=panier&sup='.$i.'"><img src="Images/Panier/paniersupNEW.png" alt="Supprimer" border="0"/></a></td>
          <a href="#" onclick="javascript:document.FQuant='.$i.'.submit();"></a>
				  <td id="tdprod">'.stripslashes($_SESSION["commande"]["prod"][$i]).'</td>
				  <td id="tdprix">'.$_SESSION["commande"]["prix"][$i].' CHF</td>
				  <td>
				  	<form name="FQuant'.$i.'" method="post" action="index.php?page=panier">
				  	 <input type="text" name="tquant" onkeydown="javascript:chiffres(event);" maxlength="3" value="'.$_SESSION["commande"]["quantite"][$i].'" size="3" />
					   <input type="hidden" name="actu" value="'.$i.'" />
					</form>   
				  </td>
				  <td>'.number_format($soustot, 2, ',', ' ').' CHF</td></tr>';
			$total = $total + $soustot;
		}
	}
	echo '	</table>
			<div class="tot">
			Total : '.number_format($total, 2, ',', ' ').' CHF
			</div>';
	
	if (count($_SESSION["commande"]["prod"]) > 0)
		echo '<div class="spa">
					<form name="FCommadeValider" method="post" action="index.php?page=validercommande">
						<p class="PCentrer"><span class="SousTitre1">Valider la commande</span></p>
							<div class="spag">
								Nom :<br /> 
								Téléphone :<br />
								Email :<br />
								Heure de passage :<br />
								Remarques : 
							</div>
							<div class="spad">
								<input type="text" name="tnom" /> *<br />
								<input type="text" name="ttel" /> * <span class="ex">Exemple : 07xxxxxxxx</span><br />
								<input type="text" name="tmail" /> * <br />
								<input type="text" name="theureh" id="theureh" onblur="checkTime(\'h\');" size="1" value="'.$heure[0].'" /> : 
                <input type="text" id="theurem" name="theurem" onblur="checkTime(\'m\');" size="1" value="'.$heure[1].'" /> * <span class="ex2">Svp comptez un délai de <b>30 minutes</b> minimum</span><br />
								<textarea name="tremarques" cols="30" rows="4"></textarea><br />*
								<span class="ex"> Champs obligatoires</span>
							</div>
					</form>
			  </div>  
        <div class="ok">
							<a href="#" onclick="javascript:ValideCommande();"><img src="Images/Panier/ok.png" alt="Valider la commande" /> Valider</a>
							<span class="attention"><b><u>Attention</u></b>: Pour toute commande groupée au-delà de 3 plats chauds, il faut compter un délai de 60 minutes!<br />Merci de votre compréhension.<br /><br />
						<img src="Images/Panier/modepaiement3.png" alt="carte" title="cartes accepté" border="0" /></span>
            </div><br />';
						
}	  
else
	echo '<div class="vide">Votre panier est vide.</div>';

 

?>

In questa si processano gli ordini:
PHP:
<?php	  		    
$tabalpha = array('A', 'B', 'C' , 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); 
$desert = true;
$fermer = '<div class="Fermer"><p class="chiuso">Il n\'est plus possible de faire des commandes à cette heure-ci.</p><br /><br /><br /></div>';



function affichprod($req, $tb, $r = '', $type = '', $typecommande)
{
	$req_plats = mysql_query($req) or die ("Erreur SQL > ".$req."<br />".mysql_error());
	
	$ligne = mysql_fetch_assoc($req_plats);
	$prix = number_format($ligne["prix"], 2, ',', ' ');
	
	if (isset($_POST["tbautres"]))
		$remarques = $_POST["tbautres"];
	
	if ($r != '')	
	{
		$remarques = $r;
		$r = '';
	}
	
	if (@strlen($remarques) > 1)
		$r .= '<br />('.stripslashes($remarques).')';
		
	echo '<div class="spa2">
  <table>
		  <caption class="SousTitre1">Votre commande :</caption>
		  <tr>
			 <th align="left">Produit</th>
			 <th align="left">Prix</th>
			 <th align="left">Quantité</th>
			 <th align="left">&nbsp</th>
		  </tr>
		  <tr>
			<td id="tdprod"><span style="font-size:16px;color:#4b4c38;font-weight:bold;">'.stripslashes($ligne[$tb].''.$type).'</span><br /><span style="font-size:14px;color:#000000;">'.$r.'</span></td>
			<td id="tdprix">'.$prix.' CHF</td>
			<td><input type="text" name="tquant" onkeydown="javascript:chiffres(event);" maxlength="3" value="1" size="3" /></td>
			<td><a href="#" onclick="javascript:document.Fajoutpanier.submit();" id="addlien"><img src="Images/Panier/panieractuNEW.png" alt="Ajouter" border="0" /></a>
      <a href="javascript:javascript:history.go(-1)"><img src="Images/Panier/paniersupNEW.png" alt="Supprimer" border="0" /></a></td>
		 </tr>
		 </table>
		 <p class="PCentrer">
		 <input type="hidden" name="prod" value="'.stripslashes($ligne[$tb].''.$type.'--'.$r).'" />
		 <input type="hidden" name="prix" value="'.$prix.'" />
		 <input type="hidden" name="type" value="'.$typecommande.'" />
		 <input type="hidden" name="btajouterpanier" value="Ajouter" /> 
		 </p></div>';
}

if (isset($_POST["element"]))		  
{
	if (is_numeric($_POST["element"]))
	{
		echo '<form name="Fajoutpanier" method="post" action="index.php?page=panier" onsubmit="javascript: return ajoutPanier();"> ';
		switch ($_POST['t'])
		{
			case "viandesf" : 
			{
				echo '<p class="PCentrer">
					  <span class="Titre">Viandes Froides</span>
					  <br /><br /></p>';
				$sql = "SELECT id, nom_viande, description, prix
						FROM tviandesf
						WHERE id = ".$_POST["element"];
				
				//Fermeture des viandes froides a partir de 14h00
				
        if (date('H:i') > '14:00' && date('H:i') < '20:00')
					echo $fermer;
				else
					affichprod($sql, "description", '', '', 'salades');
				break;					
				
			}
					
			case "platsj" : 
			{
				echo '<p class="PCentrer">
					  <span class="Titre">Plats du jour</span>
					  <br /><br />';
				$sql = "SELECT id, nom_plats, description, prix
						FROM tplatsj
						WHERE id = ".$_POST["element"];
				
				//Fermeture des plats du jour a partir de 14h00
				if (date('H:i') > '14:00' && date('H:i') < '20:00')
					echo $fermer;
				else
					affichprod($sql, "description", '', '', 'platsc');
				break;					
			}
			
			case "platsch" : 
			{
				echo '<p class="PCentrer">
					  <span class="Titre">Plats chauds</span>
					  <br /><br />';
				$sql = "SELECT id, nom_plats, description, prix
						FROM tplatsch
						WHERE id = ".$_POST["element"];
						
				//Fermeture des plats chauds a partir de 14h00
				if (date('H:i') > '14:00' && date('H:i') < '20:00')
					echo $fermer;
				else				
					affichprod($sql, "description", '', '', 'platsc');
				break;					
			}	
			
			case "sandwiches" :
			{
				echo '<p class="PCentrer">
					  <span class="Titre">Sandwiches</span>
					  <br /><br />';
				$sql = "SELECT id, nom_sandwiche, prix
						FROM tsandwiches
						WHERE id = ".$_POST["element"];
						
				
				$param = '';
				if (isset($_POST["cbpain"]))
				{	
					@$t = split('-', $_POST["cbpain"]);
					$param .= $t[1].'<br />';
				}
				if (isset($_POST["cbcharcuteries"]))
				{
					foreach($_POST["cbcharcuteries"] as $v){
						@$t = split('-', $v);
						$param .= $t[1].'<br />';
					}
				}
				if (isset($_POST["cbfromages"]))
				{
					foreach($_POST["cbfromages"] as $v){
						@$t = split('-', $v);
						$param .= $t[1].'<br />';	
					}
				}
				if (isset($_POST["cbgarnitures"]))
				{				
					foreach($_POST["cbgarnitures"] as $v){
						@$t = split('-', $v);
						$param .= $t[1].'<br />';	
					}
				}
				if (isset($_POST["cbdivers"]))
				{	
					foreach($_POST["cbdivers"] as $v){
						@$t = split('-', $v);
						$param .= $t[1].'<br />';
					}	
				}	

				$param = substr($param, 0, -6);
									
				if (strlen($_POST["tbautres"]) > 0)					
					$param .= '<br /><br />'.$_POST["tbautres"];
												
				affichprod($sql, "nom_sandwiche", $param, ' - Sandwiche', 'sand');
				break;					
			}	
			
			case "salades" :
			{
				echo '<p class="PCentrer">
					  <span class="Titre">Salades</span>
					  <br /><br />';
				$sql = "SELECT id, nom_salade, prix
						FROM tsalades
						WHERE id = ".$_POST["element"];		
						
				$param = '';
				if (isset($_POST["cbpain"]))
				{	
					@$t = split('-', $_POST["cbpain"]);
					$param .= $t[1].'<br />';
				}
				if (isset($_POST["cbcharcuteries"]))
				{
					foreach($_POST["cbcharcuteries"] as $v){
						@$t = split('-', $v);
						$param .= $t[1].'<br />';
					}
				}
				if (isset($_POST["cbfromages"]))
				{
					foreach($_POST["cbfromages"] as $v){
						@$t = split('-', $v);
						$param .= $t[1].'<br />';	
					}
				}
				if (isset($_POST["cbgarnitures"]))
				{				
					foreach($_POST["cbgarnitures"] as $v){
						@$t = split('-', $v);
						$param .= $t[1].'<br />';	
					}
				}
				if (isset($_POST["cbdivers"]))
				{	
					foreach($_POST["cbdivers"] as $v){
						@$t = split('-', $v);
						$param .= $t[1].'<br />';
					}	
				}					
				if (isset($_POST["cbsauces"]))
				{	
					foreach($_POST["cbsauces"] as $v){
						@$t = split('-', $v);
						$param .= $t[1].'<br />';
					}	
				}					
				$param = substr($param, 0, -6);	
							
				if (strlen($_POST["tbautres"]) > 0)					
					$param .= '<br /><br />'.$_POST["tbautres"];
					
				affichprod($sql, "nom_salade", $param, ' - Salade', 'salades');
				break;									
			}
			
			case "boissons" : 
			{
				$desert = false;
				echo '<p class="PCentrer">
					  <span class="Titre">Boissons</span>
					  <br /><br />';
				$sql = "SELECT id, nom_boisson, prix
						FROM tboissons
						WHERE id = ".$_POST["element"];
				affichprod($sql, "nom_boisson", '', '', 'betd');
				break;					
			}
			
			case "pane" : 
			{
				$desert = false;
				echo '<p class="PCentrer">
					  <span class="Titre">Pain</span>
					  <br /><br />';
				$sql = "SELECT id, nom_pane, prix
						FROM tpane
						WHERE id = ".$_POST["element"];
				affichprod($sql, "nom_pane", '', '', 'pane');
				break;					
			}
			case "shoppates" : 
			{
				$desert = false;
				echo '<p class="PCentrer">
					  <span class="Titre">P&acirc;tes et Risotto</span>
					  <br /><br />';
				$sql = "SELECT id, nom_pasta, tipo_pasta, prix
						FROM tpasta
						WHERE id = ".$_POST["element"];
				affichprod($sql, "tipo_pasta", '', '', 'pasta');
				break;					
			}
			case "shopcharcuteries" : 
			{
				$desert = false;
				echo '<p class="PCentrer">
					  <span class="Titre">Charcuteries</span>
					  <br /><br />';
				$sql = "SELECT id, nom_salumi, tipo_salumi, prix
						FROM tsalumi
						WHERE id = ".$_POST["element"];
				affichprod($sql, "tipo_salumi", '', '', 'betd');
				break;					
			}
			case "shopvin" : 
			{
				$desert = false;
				echo '<p class="PCentrer">
					  <span class="Titre">Vins et Alcools</span>
					  <br /><br />';
				$sql = "SELECT id, nom_vino, tipo_vino, prix
						FROM tvino
						WHERE id = ".$_POST["element"];
				affichprod($sql, "tipo_vino", '', '', 'betd');
				break;					
			}
			case "shophuile" : 
			{
				$desert = false;
				echo '<p class="PCentrer">
					  <span class="Titre">Huile et Vinaigres</span>
					  <br /><br />';
				$sql = "SELECT id, nom_olio, tipo_olio, prix
						FROM tolio
						WHERE id = ".$_POST["element"];
				affichprod($sql, "tipo_olio", '', '', 'betd');
				break;					
			}
			case "shopdivers" : 
			{
				$desert = false;
				echo '<p class="PCentrer">
					  <span class="Titre">Divers</span>
					  <br /><br />';
				$sql = "SELECT id, nom_varie, tipo_varie, prix
						FROM tvarie
						WHERE id = ".$_POST["element"];
				affichprod($sql, "tipo_varie", '', '', 'betd');
				break;					
			}
			case "shopepices" : 
			{
				$desert = false;
				echo '<p class="PCentrer">
					  <span class="Titre">Epices et Condiments</span>
					  <br /><br />';
				$sql = "SELECT id, nom_spezie, tipo_spezie, prix
						FROM tspezie
						WHERE id = ".$_POST["element"];
				affichprod($sql, "tipo_spezie", '', '', 'betd');
				break;					
			}
			
			case "sandperso" :
			{
				echo '<p class="PCentrer">
					  <span class="Titre">Sandwiches</span>
					  <br /><br />';			
				$base = 0;
				$passed = false;
				$r = '<br />('.$_POST["rbpain"].'<br />';
				//Calcul des prix de base
				if (isset($_POST["cbcharcuteries"])){
					foreach($_POST["cbcharcuteries"] as $charc){
						if ($charc == 'Culatello di Zibello' || $charc == 'Roastbeef'){
							$base = 12;
							$r .= $charc.'<br />';
						} 
              
						else
						{
							$base = 10;
							$r .= $charc.'<br />';
						}
					}
				}
				else
				{
					foreach($_POST["cbdivers"] as $divers){
						if ($divers == 'Thon'){
							$base = 8; 
							$thon = true;
						}
						else
						{
							$base = 8;
							$garni = 3;
						}
					}				
				}
				
				if (isset($_POST["cbcharcuteries"])){
					if (count($_POST["cbcharcuteries"]) > 1){
						$base += 1;
					}
				}	
						
				if (isset($_POST["cbfromages"])){
					if (count($_POST["cbfromages"]) > 1){
						$base += 1;
						foreach($_POST["cbfromages"] as $frm)
							$r .= $frm.'<br />';
					}
					else{
						foreach($_POST["cbfromages"] as $frm){
							if (isset($thon))
								$base += 1;
							$r .= $frm.'<br />';
						}	
					}
				}
				        
				
				if (isset($_POST["cbgarnitures"]))
				{
					foreach($_POST["cbgarnitures"] as $gar)
					{
						$r .= $gar.'<br />';
						$base += 1;					
					}
				}
								
				if (isset($_POST["cbdivers"]) && count($_POST["cbdivers"]) > 4 && !isset($garni)){
					$base += count($_POST["cbdivers"]) - 4;
						foreach($_POST["cbdivers"] as $di)
							$r .= $di.'<br />';						
				}	
				elseif (isset($_POST["cbcharcuteries"]) && isset($_POST["cbdivers"]))
				{
						foreach($_POST["cbdivers"] as $di)
							$r .= $di.'<br />';		
				}
				elseif (isset($garni))
				{
					if (count($_POST["cbdivers"]) >= $garni)
						$base += count($_POST["cbdivers"]) - $garni;
					foreach($_POST["cbdivers"] as $di)
							$r .= $di.'<br />';						
				}

				if (isset($_POST["autorizzazione"]))
				{	
				  
					if ($_POST["autorizzazione"] == "OUI"){
						$r .= "Changement de pain autorisé<br />";
					}	
				}					
				$r = substr($r, 0, -6);
				$r .= ')';
				$r = stripslashes($r);
				
				echo '
            <div class="spa2">
            <table>
					  <caption class="SousTitre1">Votre commande :</caption>
					  <tr>
						 <th align="left">Produit</th>
						 <th align="left">Prix</th>
						 <th align="left">Quantité</th>
						 <th align="left">&nbsp</th>
					  </tr>
					  <tr>
						<td id="tdprod"><span style="font-size:16px;color:#4b4c38;font-weight:bold;">Sandwiche</span><br /><span style="font-size:14px;color:#000000;">'.$r.'</span></td>
						<td id="tdprix">'.number_format($base, 2, ',', ' ').' CHF</td>
						<td><input type="text" name="tquant" onkeydown="javascript:chiffres(event);" maxlength="3" value="1" size="3" /></td>
					  <td><a href="#" onclick="javascript:document.Fajoutpanier.submit();" id="addlien"><img src="Images/Panier/panieractuNEW.png" border="0" /></a>
					 <a href="javascript:javascript:history.go(-1)"><img src="Images/Panier/paniersupNEW.png" alt="Supprimer" border="0" /></a>
					 </td>
           </tr>
					 </table>
					 <p class="PCentrer">
					 <input type="hidden" name="prod" value="Sandwiche--'.$r.'" />
					 <input type="hidden" name="prix" value="'.number_format($base, 2, ',', ' ').'" />
					 <input type="hidden" name="type" value="sand" />
					 <input type="hidden" name="btajouterpanier" value="Ajouter" />  
					 </p></div>';
				break;
			}	
			
			case "desserts" : {
				echo '<p class="PCentrer">
					  <span class="Titre">Desserts</span>
					  <br /><br />';
				$sql = "SELECT id, nom_plats, description, prix
						FROM tdesert
						WHERE id = ".$_POST["element"];
				
				affichprod($sql, "description", '', '', 'betd');
				$desert = false;
				break;			
			}	
			
			case "saladeperso" :
			{
				echo '<p class="PCentrer">
					  <span class="Titre">Salades</span>
					  <br /><br />';			
				$base = 0;
				$passed = false;
				$r = '<br />';
				//Calcul des prix de base
				if (isset($_POST["cbgarnitures"]))
				{
					foreach($_POST["cbgarnitures"] as $gar)
					{
						$r .= $gar.'<br />';
						$base += 1.5;					
					}
				}   
				
				
        if (isset($_POST["cbcharcuteries"]))
				{
					foreach($_POST["cbcharcuteries"] as $cha)
					{
						$r .= $cha.'<br />';
						$base += 5;					
					}
				}     
					
				 
				if (isset($_POST["cbfromages"])){
					foreach($_POST["cbfromages"] as $fro){
						if ($fro == 'Mozzarella di Bufala'){
							$base += 6;
							$r .= $fro.'<br />';
						}
						else
						{
							$base += 5;
							$r .= $fro.'<br />';
						}
					}
				}     
				
				if (isset($_POST["cbsauce"])){
					foreach($_POST["cbsauce"] as $sau){
						if ($sau == 'Sel'){
							$base += 0;
							$r .= $sau.'<br />';
						}
						else
						{
							$base += 1;
							$r .= $sau.'<br />';
						}
					}
				}         
				
				if (isset($_POST["cbdivers"])){
					foreach($_POST["cbdivers"] as $div){
						if ($div == 'Thon'){
							$base += 6;
							$r .= $div.'<br />';
						}
						else
						{
							$base += 1.5;
							$r .= $div.'<br />';
						}
					}
				}     
								
				

							
				$r = substr($r, 0, -6);
				$r .= ')';
				$r = stripslashes($r);
				
				echo '
            <div class="spa2">
            <table>
					  <caption class="SousTitre1">Votre commande :</caption>
					  <tr>
						 <th align="left">Produit</th>
						 <th align="left">Prix</th>
						 <th align="left">Quantité</th>
						 <th align="left">&nbsp</th>
					  </tr>
					  <tr>
						<td id="tdprod"><span style="font-size:16px;color:#4b4c38;font-weight:bold;">Salade</span><br /><span style="font-size:14px;color:#000000;">'.$r.'</span></td>
						<td id="tdprix">'.number_format($base, 2, ',', ' ').' CHF</td>
						<td><input type="text" name="tquant" onkeydown="javascript:chiffres(event);" maxlength="3" value="1" size="3" /></td>
					  <td><a href="#" onclick="javascript:document.Fajoutpanier.submit();" id="addlien"><img src="Images/Panier/panieractuNEW.png" border="0" /></a>
					 <a href="javascript:javascript:history.go(-1)"><img src="Images/Panier/paniersupNEW.png" alt="Supprimer" border="0" /></a>
					 </td>
           </tr>
					 </table>
					 <p class="PCentrer">
					 <input type="hidden" name="prod" value="Salades--'.$r.'" />
					 <input type="hidden" name="prix" value="'.number_format($base, 2, ',', ' ').'" />
					 <input type="hidden" name="type" value="sand" />
					 <input type="hidden" name="btajouterpanier" value="Ajouter" />  
					 </p></div>';
				break;
			}	
		}
		

	}
}
		  
?>

Spero di non essere troppo oltraggioso, ma cerco questo errore da tempo e proprio non lo trovo. Non so più come fare.
Grazie infinite!
 
ciao
La sessione è già iniziata su un'altra pagina.
no l'istruzione session_start deve essere in tutte le pagine dove le utilizzi, non basta che sia iniziata in una pagina
es. prova
pagina_1.php
PHP:
<?php
session_start();
$_SESSION['pinco']="pallo";
header('location:pagina_1.php');//o un lin alla pag 2
?>
pagina_1.php
PHP:
<?php
var_dump($_SESSION['pinco']);
?>
se fai le due paginette e le lanci vedi cosa di da il var_dump alla seconda
correggi la seconda in
PHP:
<?php
session_start();
var_dump($_SESSION['pinco']);
?>
riprovi e vedi la differenza
 
Ho provato, ma mi dice:

Notice: A session had already been started - ignoring session_start() in C:\xampp\htdocs\MALERBA\Panier\panier_ajout.php on line 9

??????????
 
ciao
il primo var_dump (pagina non corretta) da
dopo la correzione
string(5) "pallo"
stai attento che session_start DEVE essere la prima istruzione e prima del tag <?php nemmeno uno spazio, che comunque anche se a monitor non lo vedi è un output html
se non ti da prima NULL e poi correggendo òa secnda pagina string(5) "pallo" hai sbagliato a scrivere e il notice lo evidenzia
 
Il codice php è stato fatto da un'altra persona, io mi sono occupato della parte grafica.
Probabilmente devo avere inavvertitamente cancellato o modificato qualche linea di comando...ma ha sempre funzionato anche senza "session_start".
L'unica volta che ho trovato questo comando è infatti nella pagina index, quella che carica tutte le pagine del sito:
PHP:
<?php
/*
        Nom : Fabrizio Villa
        Projet : Au petit comestible 2, LA VENDETTA
        Description : Site d'un petit commerce avec la possibilité de commander des sandwiches, des plats chauds et des salades
                                  description des produits vendu etc...
        
        Page : index.php
                                Page principale du site, page ou on charge les autres  ciao
*/
//On démarre les sessions
session_start();
include("func/functions.php");
//Connexion à la base de données
$CON = DB_Connection();

//On lit les paramètres du site
$params = LireParams("admin/Params/params.txt");

//On vérifie si on a une page a afficher sinon on affiche l'index
if (isset($_GET["page"]) && $_GET["page"]!= null)
        $page = $_GET["page"];
else
        $page = "home";
        
//Si on ajoute au panier                  
if (isset($_POST["btajouterpanier"]) && $_POST["btajouterpanier"] == "Ajouter")
{
        $prodetRem = @split('--', $_POST["prod"]); 
        
        if (count($prodetRem) > 1)
                $_SESSION["commande"]["prod"][] = '<span style="font-size:16px;color:#000000;font-weight:bold;">'.$prodetRem[0].'</span><br /><span style="font-size:14px;color:#000000;">'.$prodetRem[1].'</span>';
        else
                $_SESSION["commande"]["prod"][] = $_POST["prod"];
                
        $_SESSION["commande"]["quantite"][] = $_POST["tquant"];
        $_SESSION["commande"]["prix"][] = $_POST["prix"];
        
        if (isset($_POST["tquantdessert"]))
        {
                for($i = 0; $i < count($_POST["tquantdessert"]); $i++)
                {
                        if ($_POST["tquantdessert"][$i] > 0)
                        {
                                $_SESSION["commande"]["prod"][] = '<span style="font-size:16px;color:#000000;font-weight:bold;">'.$_POST["proddessert"][$i].'</span>';
                                $_SESSION["commande"]["quantite"][] = $_POST["tquantdessert"][$i];
                                $_SESSION["commande"]["prix"][] = $_POST["prixdessert"][$i];
                                $_SESSION["commande"]["type"][] = 'betd';               
                        }
                }
        }
}

//Si on supprime une ligne de la commande
if (isset($_SESSION["commande"]["prod"])){
	if ($_GET["page"] == "panier" && isset($_GET["sup"])){
		if (is_numeric($_GET["sup"]) && isset($_SESSION["commande"]["prod"][$_GET["sup"]])){
			unset($_SESSION["commande"]["prod"][$_GET["sup"]]);
			unset($_SESSION["commande"]["quantite"][$_GET["sup"]]);
			unset($_SESSION["commande"]["prix"][$_GET["sup"]]);
			unset($_SESSION["commande"]["type"][$_GET["sup"]]);
		}
	}	
}
//Si on modifie une ligne de la commande
if (isset($_SESSION["commande"]["prod"])){
	if ($_GET["page"] == "panier" && isset($_POST["actu"])){
		if (is_numeric($_POST["actu"]) && isset($_SESSION["commande"]["prod"][$_POST["actu"]])){
			($_SESSION["commande"]["quantite"][$_POST["actu"]] = $_POST["tquant"]);
		}
	}	
}

//page d'acceuil
$home =  '                                                                              
                                <div class="TDroite">
                                  <table width="650" cellpadding="5" cellspacing="5">
                                  <tr><td>      
                                        <p class="PJustifier">
                                        '.stripslashes($params["acceuil"]).'
                                        </p>
                                        <p class="PJustifier">
                                        '.stripslashes($params["acceuil2"]).'
                                        </p>
                                        </td>
                                        <td><img src="vetrina 2.jpg"></td>
                                        </tr>
                                        </table>
                                        <div class="iscrizione2">
                                        <table>
                                        <tr><td><img src="Images/Design/news.png"></td>
                                        <td>      
                                        <form action="http://admin.infomaniak.com/mail/mailinglist_process.php" method="POST"> 
                                        <b>Inscrivez-vous</b> gratuitement à notre news-letter pour recevoir les actualités de la semaine!<br />
                                        Insérez votre adresse e-mail ici:
                                        <input type="hidden" name="maillist" value="bmV3c2xldHRlckBhdXBldGl0Y29tZXN0aWJsZS5uZXQ="> 
                                        <input type="text" name="email">
                                        <input type="hidden" name="action" value="add">
                                        <input type="hidden" name="url" value="http://aupetitcomestible.net/iscrizione.html">
                                        <input type="submit" name="add" value="Inscription">
                                        </form></td></tr>
                                        </table>
                                        </div>
                                </div>
                        
                                ';
                                
        
?>                                
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title> - Au petit comestible - </title>
<meta name="keywords" content="sandwiches, spécialité italienne, plats chauds, sandwiches, genève, suisse, switzerland, swiss" />
<meta name="description" content="Au petit comestible | spécialité italienne plats chauds sandwiches" />
<meta name="author" content="Marques Luis" />
<meta name="copyright" content="© <?php echo date('Y');?> Au petit comestible" />
<link href="CSS/gen.css" rel="stylesheet" type="text/css" />
<link href="CSS/menu.css" rel="stylesheet" type="text/css" />
<link href="CSS/textes.css" rel="stylesheet" type="text/css" />
<link href="CSS/tendina.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="dhtmlgoodies_calendar/dhtmlgoodies_calendar.css?random=20051112" media="screen" type="text/css" />
<link rel="stylesheet" href="CSS/jQuery.beefSlider.css" type="text/css" />
    <script type="text/javascript" src="js/tendina.js">
</script>
    <script type="text/javascript" src="js/DropDownMenuX.js"></script>
    <script type="text/javascript" src="dhtmlgoodies_calendar/dhtmlgoodies_calendar.js?random=20060118">
</script>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js">
</script>
    <script type="text/javascript" src="js/jQuery.beefSlider.js">
</script>
    <script type="text/javascript">
//<![CDATA[
                        $(function()
                        {
                                $('.beefSlider').beefSlider(
                                        function()
                                        {
                                                $(this).find('div').fadeIn(100);
                                        },
                                        function()
                                        {
                                                $(this).find('div').fadeOut(100);
                                        }
                                );
                        })
    //]]>
    </script><?php
            switch ($page)
            {
                    case "sandwiches" : {
                            echo '<link href="Sandwiches/CSS/sand.css" rel="stylesheet" type="text/css" />
                                  <script src="func/functions.js" type="text/javascript" language="javascript"></script>';
                            break;
                    }
                                    
                    case "contact" : {
                            echo '<link href="Contact/CSS/contact.css" rel="stylesheet" type="text/css" />';
                            break;
                    }
                    case "alcools" : {
                            echo '<link href="Alcools/CSS/alcools.css" rel="stylesheet" type="text/css" />';
                            break;          
                    }
                    case "salades" : {
                            echo '<link href="Salades/CSS/salades.css" rel="stylesheet" type="text/css" />
                            <script src="func/functions.js" type="text/javascript" language="javascript"></script>';
                            break;
                    }       
                    case "platsj" : {
                            echo '<link href="PlatsJour/CSS/platsj.css" rel="stylesheet" type="text/css" />';
                            break;
                    }       
                    case "platsch" : {
                            echo '<link href="PlatsChauds/CSS/platsch.css" rel="stylesheet" type="text/css" />';
                            break;
                    }                       
                    case "boissons" : {
                            echo '<link href="Boissons/CSS/boissons.css" rel="stylesheet" type="text/css" />';
                            break;
                    }               
                    case "panierajout" : {
                            echo '<link href="Panier/CSS/panier.css" rel="stylesheet" type="text/css" />
                                      <script src="func/functions.js" type="text/javascript" language="javascript"></script>';
                            break;
                    }       
                    case "panier" : {
                            echo '<link href="Panier/CSS/panier.css" rel="stylesheet" type="text/css" />
                                      <script src="func/functions.js" type="text/javascript" language="javascript"></script>';
                            break;
                    }       
                    case "validercommande" : {
                            echo '<link href="Panier/CSS/panier.css" rel="stylesheet" type="text/css" />';
                            break;
                    }               
                    case "desserts" : {
                            echo '<link href="Deserts/CSS/deserts.css" rel="stylesheet" type="text/css" />
                                      <script src="func/functions.js" type="text/javascript" language="javascript"></script>';
                            break;
                    }       
                    case "viandesf" : {
                            echo '<link href="ViandesF/CSS/viandesf.css" rel="stylesheet" type="text/css" />';
                            break;
                    }
                    case "pane" : {
                            echo '<link href="Pane/pane.css" rel="stylesheet" type="text/css" />';
                            break;
                    }  
                    case "pates" : {
                            echo '<link href="Pates/CSS/pates.css" rel="stylesheet" type="text/css" />';
                            break;
                    }   
                    case "shoppates" : {
                            echo '<link href="Shop/CSS/shop.css" rel="stylesheet" type="text/css" />';
                            break;
                    } 
                    case "shophuile" : {
                            echo '<link href="Shop/CSS/shop.css" rel="stylesheet" type="text/css" />';
                            break;
                    } 
                    case "shopvin" : {
                            echo '<link href="Shop/CSS/shop.css" rel="stylesheet" type="text/css" />';
                            break;
                    } 
                    case "shopepices" : {
                            echo '<link href="Shop/CSS/shop.css" rel="stylesheet" type="text/css" />';
                            break;
                    } 
                    case "shopdivers" : {
                            echo '<link href="Shop/CSS/shop.css" rel="stylesheet" type="text/css" />';
                            break;
                    } 
                    case "shopcharcuteries" : {
                            echo '<link href="Shop/CSS/shop.css" rel="stylesheet" type="text/css" />';
                            break;
                    }                                                                                                       
            }       
    ?>
  </head>
  <body>
    <div class="CdGen">
<table cellspacing="0" cellpadding="0" id="menu1" class="ddmx">
    <tr>
        <td>
            <a class="item1" href="javascript:void(0)">Shop</a>
            <div class="section">
                <a class="item2" href="index.php?page=shoppates">P&acirc;tes et Risotto</a>
                <a class="item2" href="index.php?page=shopcharcuteries">Charcuteries</a>
                <a class="item2" href="index.php?page=shophuile">Huile d'Olive et Vinaigres</a>
                <a class="item2" href="index.php?page=shopvin">Vins et Alcools</a>
                <a class="item2" href="index.php?page=shopepices">Epices et Condiments</a>
                <a class="item2" href="index.php?page=shopdivers">Divers</a>
            </div>
        </td>
        <td>
            <a class="item1" href="index.php?page=prodsaison">Produits de saison</a>
        </td>
        <td>
            <a class="item1" href="javascript:void(0)">Produits</a>
            <div class="section">
                <a class="item2" href="index.php?page=alcools">Vins et Alcools</a>
                <a class="item2" href="index.php?page=charcuteries">Charcuterie</a>
                <a class="item2" href="index.php?page=pates">P&acirc;tes et Riz</a>
                <a class="item2" href="index.php?page=fromages">Fromages</a>
                <a class="item2" href="index.php?page=epicerie">Epicerie Fine</a>
            </div>
        </td>
        <td>
            <a class="item1" href="index.php?page=flyingchef">Flying Chef</a>
        </td>
        <td>
            <a class="item1" href="index.php?page=contact">Contact</a>
        </td>
        <td>
            <a class="item1" href="index.php?page=home">Accueil</a>
        </td>
    </tr>
    </table>
<script type="text/javascript">
    var ddmx = new DropDownMenuX('menu1');
    ddmx.delay.show = 0;
    ddmx.delay.hide = 400;
    ddmx.position.levelX.left = 2;
    ddmx.init();
    </script>
      <div class="Header">
        <img src="Images/Design/logo9B-bis.png" />
      </div>
      <div class="SousMenu">
        <a href="index.php?page=panier"><img src="Images/Design/caddie4.jpg" alt="Votre panier"
        border="0" /> <?php
                                        //On regarde si le panier a été crée
                                        if (isset($_SESSION["commande"]["prod"])){
                                                if (count($_SESSION["commande"]["prod"]) > 0){
                                                        $prixtot = 0;
                                                        $cles = array_keys($_SESSION["commande"]["prod"]);      
                                                        foreach($cles as $i)
                                                        {
                                                                $_SESSION["commande"]["prix"][$i] = str_replace(",", ".", $_SESSION["commande"]["prix"][$i]);
                                                                $prixtot = $prixtot + ((float)$_SESSION["commande"]["quantite"][$i] * (float)$_SESSION["commande"]["prix"][$i]);
                                                                $_SESSION["commande"]["prix"][$i] = str_replace(".", ",", $_SESSION["commande"]["prix"][$i]);
                                                        }
                                                        echo 'Panier : '.number_format($prixtot, 2, ',', ' ').' CHF';
                                                }
                                                else{
                                                        unset($_SESSION["commande"]);
                                                        echo 'Votre panier est vide.';
                                                }
                                        }
                                        else
                                                echo 'Votre panier est vide.';
                                        ?></a>
      </div><br />
      <table width="900" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="200" align="left" valign="top">
            <div id="menuF">
              <ul>
                <li>
                  <a href="index.php?page=platsj"><span>Plats de la semaine</span></a>
                </li>
                <li>
                  <a href="index.php?page=platsch"><span>Plats chauds</span></a>
                </li>
                <li>
                  <a href="index.php?page=sandwiches"><span>Sandwiches</span></a>
                </li>
                <li>
                  <a href="index.php?page=salades"><span>Salades</span></a>
                </li>
                <li>
                  <a href="index.php?page=pane"><span>Pain</span></a>
                </li>
                <li>
                  <a href="index.php?page=viandesf"><span>Viandes Froides</span></a>
                </li>
                <li>
                  <a href="index.php?page=boissons"><span>Boissons</span></a>
                </li>
                <li>
                  <a href="index.php?page=desserts"><span>Desserts</span></a>
                </li>
              </ul>
            </div>
          </td>
          <td>
            <?php
            echo'<div class="beefSlider">
                                    <div class="beefSliderInner">
                                            <ul>
                                                    <li>
                                                            <img src="Images/slider/foto1.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto2.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto3a.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto3b.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto6.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto8.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto13.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto14.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto7.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto16.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto18.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto9.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto15.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto5.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto11.jpg" alt="Case 39" />
                                                    </li>
                                                    <li>
                                                            <img src="Images/slider/foto12.jpg" alt="Case 39" />
                                                    </li>
                                            </ul>
                                    </div>
                            </div>'
                ?><?php
                                            switch ($page)
                                            {
                                                    case "home" : { echo '<div class="C">'.$home.'</div>'; 
                                                            break;
                                                    }
                                                    case "prodsaison" : { include("ProduitSaison/ps.php");
                                                            break;
                                                    }                                       
                                                    case "sandwiches" : { include("Sandwiches/sand.php");
                                                            break;
                                                    }
                                                    case "contact"  : { include("Contact/contact.php");
                                                            break;
                                                    }                               
                                                    case "salades"  : { include("Salades/salades.php");
                                                            break;
                                                    }                                       
                                                    case "platsj"   : { include("PlatsJour/platsj.php");
                                                            break;
                                                    }       
                                                    case "platsch"  : { include("PlatsChauds/platsch.php");
                                                            break;
                                                    }                                                                                       
                                                    case "boissons" : { include("Boissons/boissons.php");
                                                            break;
                                                    } 
                                                    case "pane" : { include("Pane/pane.php");
                                                            break;
                                                    }       
                                                    case "alcools"  : { include("Alcools/alcools.php");
                                                            break;
                                                    }                                       
                                                    case "flyingchef"       : { include("Flying chef/flyingchef.php");
                                                            break;
                                                    }               
                                                    case "charcuteries"     : { include("Charcuteries/charcuteries.php");
                                                            break;
                                                    }                                                                               
                                                    case "fromages" : { include("Fromages/fromages.php");
                                                            break;
                                                    }                       
                                                    case "epicerie" : { include("Epicerie/epicerie.php");
                                                            break;
                                                    }       
                                                    case "pates"    : { include("Pates/pates.php");
                                                            break;
                                                    }
                                                    case "shoppates"    : { include("Shop/shoppates.php");
                                                            break;
                                                    } 
                                                    case "shophuile"    : { include("Shop/shophuile.php");
                                                            break;
                                                    } 
                                                    case "shopcharcuteries"    : { include("Shop/shopcharcuteries.php");
                                                            break;
                                                    }   
                                                    case "shopvin"    : { include("Shop/shopvin.php");
                                                            break;
                                                    } 
                                                    case "shopepices"    : { include("Shop/shopepices.php");
                                                            break;
                                                    } 
                                                    case "shopdivers"    : { include("Shop/shopdivers.php");
                                                            break;
                                                    }                                
                                                    case "panier"   : { include("Panier/panier.php");
                                                            break;
                                                    }       
                                                    case "panierajout"      : { include("Panier/panier_ajout.php");
                                                            break;
                                                    }
                                                    case "validercommande"  : { include("Panier/panier_valider.php");
                                                            break;
                                                    }       
                                                    case "desserts" : { include("Deserts/deserts.php");
                                                            break;
                                                    }                       
                                                    case "viandesf" : { include("ViandesF/viandesf.php");
                                                            break;
                                                    }                                                                                                                                                                                                                                               
                                                    default : { echo $home;
                                                            break;
                                                    }                                       
                                            }
                                            mysql_close($CON); 
                                    ?>
          </td>
        </tr>
      </table>
      
      <div class="Footer">
        Copyright &copy; <?php echo 'Au petit comestible 2002 - '.date('Y');?>
      <a href="https://www.facebook.com/aupetitcomestible" target="_blank"><img src="Images/Design/f-facebook.png" align="middle"></a>
      </div>
    </div>
  </body>
</html>

Mi scuso per la mia incompetenza ed ignoranza :crying: in merito al codice php.
Spero davvero in un aiuto perché ho provato ad analizzare il tutto più e più volte, ma senza risultati.
Grazie per la tua pazienza e competenza.
Fabrizio
 
Ciao,
sempre in merito al problema di ieri credo, se non dico una bestialità, che l'errore sia nel campo "type" che non è definito.
Non so che fare...
Poi ho notato che c'è una linea che appare due volte identica, è normale?
PHP:
$_SESSION["commande"]["prix"][$i] = str_replace(",", ".", $_SESSION["commande"]["prix"][$i]);
$soustot = (float)$_SESSION["commande"]["prix"][$i] * (float)$_SESSION["commande"]["quantite"][$i];
$_SESSION["commande"]["prix"][$i] = str_replace(".", ",", $_SESSION["commande"]["prix"][$i]);
Cioè, potrebbe essere che la 3 stringa debba essere diversa? Perché è proprio identica...
O forse non dovrebbe esserci proprio?
Sono un caso disperato...
 
ciao
per prima cosa, almeno mi sembra, guardando non ho visto errori sintattici, quindi probalmente il tutto è dovuto a qualche variabile che si perde.
non è semplice capire perche i vari script ne richiamano altri, senza contare che uno script di un altro non è sempre semplice leggerlo.
ti posso consigliare di seguire lo script passo passo usando dei var_dump messi nei punti dove le variabili vengono uasate
la sintassi del var_dump è
var_dump($nome_variabile);
il var_dump ritorna, se la variabile esiste il tipo e il suo valore.
partendo da dove hai errore risali pian piano a monte e dovresti capire dove è l'inghippo.

es. dici che il campi "type" non è definito, verifica come ti ho detto, risalendo sino al punto in cui dovrebbe definirsi.

la seconda riga uguale, visto così, non dovrebbe servire, però non cancellarla eventualmente commentala per vedere cosa succede
 
Ok, ti ringrazio molto per la risposta, farò come dici!
Molto probabilmente ti chiederò aiuto ancora...:hammer:!
Grazie mille!!
 
Ciao,
ho fatto come hai detto e purtroppo non ho capito dove la variabile si perde.
Nella pagine precedenti è presente (controllato come hai detto con var_dump), poi nell'ultima pagina sparisce...
Ho provato quindi a cambiare "type" con "prod" che è una variabile definita (infatti la pagina invia la mail correttamente). L'errore non c'è più, ma il comando INSERT INTO non funziona.
Provo a spiegarmi meglio:
la pagina invia una mail con l'ordine. Nell'ordine sono presenti: id, nome prodotto, quantità e prezzo
PHP:
foreach($cles as $i){
                        if (array_key_exists($i, $_SESSION["commande"]["prod"]))
                        {
                                $_SESSION["commande"]["prix"][$i] = str_replace(",", ".", $_SESSION["commande"]["prix"][$i]);
                                $soustot = (float)$_SESSION["commande"]["prix"][$i] * (float)$_SESSION["commande"]["quantite"][$i];
                                //$_SESSION["commande"]["prix"][$i] = str_replace(".", ",", $_SESSION["commande"]["prix"][$i]);//
                                
                                $message .=  '<tr>
                                                                <td style="border:#000000 solid 1px;text-align:center;">
                                                                        '.$_SESSION["commande"]["quantite"][$i].'
                                                                </td>
                                                <td style="border:#000000 solid 1px;">
                                                                        '.stripslashes($_SESSION["commande"]["prod"][$i]).'
                                                                </td>
                                                                <td style="text-align:right;border:#000000 solid 1px;">
                                                                        '.$_SESSION["commande"]["prix"][$i].' 
                                                                </td>
                                                                <td style="text-align:right;border:#000000 solid 1px;">
                                                                        '.number_format($soustot, 2, ',', ' ').' CHF
                                                                </td>                                                           
                                                          </tr>';
                                $tot += $soustot;
                        }          
                }

Se la mail (l'ordine) è inviata la tabella "tstat" (quella delle statistiche) dovrebbe essere aggiornata con:
PHP:
$sqlcommande = 'INSERT INTO tstat (idstat, datecommande, champtype, description, prix) VALUES'; 
            			  			  
                      			  foreach($cles as $i)
                      			  {
                      			  if (var_dump($i, $_SESSION["commande"]["type"]) && $_SESSION["commande"]["type"] != NULL)
                        			  	{
                        			  		for ($j = 0; $j < $_SESSION["commande"]["quantite"][$i]; $j++)
                        			  		{		  			
                        				  		$desc = str_replace("<br />", " - ", $_SESSION["commande"]["prod"][$i]);
                        				  		$desc = strip_tags($desc);			  		
                        				  		$sqlcommande .= "'', ".date("Y-m-d").", '".$_SESSION["commande"]["type"][$i]."', '".addslashes($desc)."', ".number_format((float)$_SESSION["commande"]["prix"][$i], 2, '.', ' ').""; 		  
                        				  
                                    }
                      			  	  }
                      			   }
                      			  
                      			  $sqlcommande = substr($sqlcommande, 0, strlen($sqlcommande)-1);
                      			  $sqlcommande .= ";";
Solo che non aggiorna un bel niente. Anche con UPLOAD non accade nulla...
Hai qualche idea? magari è sono un problema di script o che so io...
Grazie infinite!
 
Cambio di errore...

Ciao,
sono riuscito (miracolosamente...) a trovare la variabile che mancava e adesso l'array_key_exists è sistemato!!!
Però ora mi dà un altro errore:

Erreur SQL > INSERT INTO tstat (idstat, datecommande, champtype, description, prix) VALUES '', '2013-02-24', 'sand', 'Giorgio - Sandwiche - ',10.00'', '2013-02-24', 'sand', 'Giorgio - Sandwiche - ',10.0;
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''', '2013-02-24', 'sand', 'Giorgio - Sandwiche - ',10.00'', '2013-02-24', 'sand'' at line 1

Non capisco perché scrive line 1 se il comando è circa alla line 174 ????
Grazie mille per il preziosissimo aiuto!!!
 
ciao
intanto è errata la sintassi
devi scrivere anche i values tra le parentesi es
INSERT INTO tabella(campo_1, campo_2) VALUES('valore_1,'valore_2')
poi se conti il numero dei campi e il numero che vuoi inserire sono diversi: devono essere uguali
da quello che capisco dovrebbe essere

INSERT INTO tstat (idstat, datecommande, champtype, description, prix) VALUES('', '2013-02-24', 'sand', 'Giorgio - Sandwiche - ', '10.00')

senza contare il valore 10.00 che è scritto male 10.00''
sempre da quello che capisco dallo script la query si forma da un ciclo, mi sembra, quindi se la query si forma in quel modo il ciclo è sbagliato.

comunque guarda cosa c'è alla riga 1, non c'è per caso un'altra query?
 
PHP:
$sqlcommande = "INSERT INTO tstat (idstat, datecommande, champtype, description, prix) VALUES ";			  
			  foreach($cles as $i)
			  {
			  	if (array_key_exists($i, $_SESSION["commande"]["type"]) && $_SESSION["commande"]["type"] != NULL)
			  	{
			  		for ($j = 0; $j < $_SESSION["commande"]["quantite"][$i]; $j++)
			  		{		  			
				  		$desc = str_replace("<br />", " - ", $_SESSION["commande"]["prod"][$i]);
				  		$desc = strip_tags($desc);			  		
				  		$sqlcommande .= "'', '".date("Y-m-d")."', '".$_SESSION["commande"]["type"][$i]."', '".addslashes($desc)."',".number_format((float)$_SESSION["commande"]["prix"][$i], 2, '.', ' ')."";             		  
				  	}
			  	 }
			  }
			  $sqlcommande = substr($sqlcommande, 0, strlen($sqlcommande)-1);
			  $sqlcommande .= ";";			  		  
			  mysql_query($sqlcommande) or die ("Erreur SQL > ".$sqlcommande."<br />".mysql_error()); 	
 
			  unset($_SESSION["commande"]);

Questo è quello che ho scritto, ora guardo per il prezzo, cioè 10.00 o 10,00?
 
Ora mi da:

Erreur SQL > INSERT INTO tstat (idstat, datecommande, champtype, description, prix) VALUES '', '2013-02-24', 'sand', 'Giorgio - Sandwiche - ','10.00';
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''', '2013-02-24', 'sand', 'Giorgio - Sandwiche - ','10.00'' at line 1

Le sto provando tutte....
 

Discussioni simili