Bonjour à tous, tout d'abord merci de prendre le temps de lire mon appel au secours, et peut être d'y répondre.
Alors pour les infos:
Hébergeur: livedomaine
httaccess: vide mis a part "AddHandler php5-cgi .php"
droits : 777 partout pour le moment
Le probleme est le suivant:
Une page panier.php résume les articles ajoutés pour le moment, et propose de supprimer ceux ci ou de passer a la validation de la commande. Initialement, le formulaire proposant de supprimer l'article renvoyait sur la même page, et fesait la suppression dans la base juste avant de l'afficher. Néanmoins, lors de l'envoi, l'erreur 403 "forbidden" apparaissait.
J'ai donc scindé mon code en 2 pages, mais l'erreur persiste.
Ce code marchait très bien en local, mais plus depuis que je l'ai mis sur le serveur de livedomaine.
page panier.php:
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title> xxxxxxxxxxxx</title>
<?php include("Inclusions/meta.php"); ?>
<link rel="shortcut icon" type="image/x-icon" href="Inclusions/icone.ico" />
<?php
function disponibilite($id, $quantite)
{
include("Inclusions/connexionsession.php");
//On créé la requête avec des variables pour stocker dans une variable la quantité disponible
$reponse = $bdd->prepare('SELECT quantitedispo FROM produit WHERE id= :id');
//On exécute la requête avec les variables transmises
$reponse->execute(array('id'=>$id));
//On stock la quantite disponible
while($donnees=$reponse->fetch())
{
$a=$donnees['quantitedispo'];
}
//On vérifie que le nombre de produits commandés ne dépasse pas la quantité disponible
if($quantite<=$a)
{
echo 'En stock';
}
//Cas où la quantité n'est pas disponible
else
{
echo 'En stock chez nos fournisseurs';
}
}
?>
</head>
<body id="body">
<?php include("Inclusions/Banniere.php"); ?>
<?php include("Inclusions/Menu.php"); ?>
<div id="corps">
<?php //ex endroit du script
include("Inclusions/connexionsession.php");
//On verifie que l'utilisateur est bien connecté
if(isset($_SESSION['mail']))
{
$j=0;
$reponse = $bdd->prepare('SELECT ref FROM commande WHERE utilisateur= :ut AND validation=FALSE');
$reponse->execute(array('ut'=>$_SESSION['mail']));
while ($donnees = $reponse->fetch())
$j=$j+1;
if($j==0)
echo"<h3><center>Votre panier est vide</center></h3>";
else
{
echo "<center><h1>Récapitulatif de votre commande</h1></center><br/><br/>";?>
<form method="post" action="panieractu.php">
<table>
<tr>
<th>Nom</th>
<th>Quantité</th>
<th>Prix unitaire</th>
<th>Prix HT</th>
<th>Prix TTC</th>
<th>Disponibilité</th>
<th>Supprimer cet article</th>
</tr>
<?php
//On créé la requête avec des variables pour afficher les produits du pannier
$reponse = $bdd->prepare('SELECT * FROM commande INNER JOIN produit ON commande.produit=produit.id WHERE utilisateur= :id AND validation=FALSE');
//On exécute la requête avec les variables transmises
$reponse->execute(array('id'=>$_SESSION['mail']));
//On affiche les entrées une à une
$i=0;
$pt=0;
while ($donnees = $reponse->fetch())
{
?>
<tr>
<td><?php echo $donnees['nom'];?></td>
<td><?php echo $donnees['quantite'];?></td>
<td><?php echo $donnees['prix_unitaire'];?></td>
<td><?php echo $p=$donnees['prix_unitaire']*$donnees['quantite'];?></td>
<td><?php echo $p*1.055;?></td>
<td><?php disponibilite($donnees['id'],$donnees['quantite']); ?></td>
<td><input type="checkbox" name="Supr<?php echo $i?>" value="<?php echo $donnees['ref'];?>" /></td>
</tr>
<?php
$i=$i+1;
$pt=$pt+$p;
}
?>
</table>
<h3 class="prix"> Prix total HT: <?php echo $pt ?> </h3>
<h3 class="prix"> Prix total TTC: <?php echo $pt*1.055 ?> </h3>
<br/>
<input type="submit" name="actualiser" value="Actualiser le récapitulatif"/>
</form>
<form method="post" action="validationcmd.php">
<input type="submit" name="action" value=" Valider cette commande "/>
<?php
$i=0;
$reponse = $bdd->prepare('SELECT * FROM commande WHERE utilisateur= :id AND validation=FALSE');
$reponse->execute(array('id'=>$_SESSION['mail']));
while ($donnees = $reponse->fetch())
{
?>
<input type="hidden" name="Pro<?php echo $i?>" value="<?php echo $donnees['produit'];?>" />
<input type="hidden" name="Qua<?php echo $i?>" value="<?php echo $donnees['quantite'];?>" />
<input type="hidden" name="Ref<?php echo $i?>" value="<?php echo $donnees['ref'];?>" />
<?php
$i=$i+1;
}
?>
</form>
<p><center> L'adresse de livraison utilisé sera celle que vous avez renseignée lors de votre inscription, si vous souhaitez modifier ces informations, merci de cliquez
<a href="modification.php"> <font color="red"> ici </font color></a></center></p>
<?php
}
}
else
echo "<h3><center>Attention</center></h3><br/><br/><center>Vous devez vous connecter pour pouvoir accéder à votre pannier.</center>
<a href=\"Inscription.php\"><h3><center>Si vous ne vous êtes pas encore inscrit, c'est le moment !</center></h3></a>";
?>
</div>
<?php include("Inclusions/Pied.php"); ?>
</body>
</html>
page panieractu.php:
<html>
<head>
<meta http-equiv="refresh" content="0;URL=http://xxxxxxxxxxxxx/panier.php">
</head>
<body>
<?php
//Connection à MySQL avec gestion d'erreurs
include("Inclusions/connexionsession.php");
$i=0;
while(isset($_POST['Supr'.$i]))
{
$reponse = $bdd->prepare('SELECT ref FROM commande WHERE utilisateur= :ut AND validation=FALSE');
$reponse->execute(array('ut'=>$_SESSION['mail']));
while ($donnees = $reponse->fetch())
{
//if(($_POST['Supr'.$i])==($donnees['ref']))
//{
//$reponse = $bdd->prepare('DELETE FROM commande WHERE ref=:ref');
//$reponse->execute(array('ref'=>$_POST['Supr'.$i]));
//$reponse->closeCursor();
}
}
$i=$i+1;
}
?>
</body>
</html>