Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/05/2008, 20h13   #1
Invité régulier
 
Inscription : avril 2008
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 46
Points : 8
Points : 8
Par défaut Problème avec mon panier

Bonjour
voila lorsque je rajoute un article dans mon panier il me le rajoute mais ne me met pas tout ce que je lui demande. Voici l'erreur:

Citation:
Notice: Undefined index: an in C:\Program Files\EasyPHP 2.0b1\www\panieroriginal.php on line 18
et voici mon code:
le panier:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
function creationPanier()
{
	$ret=false;
 
	if (isset( $_SESSION['panier']))
	{
		$ret = true;
	} 
	else
	{
		$_SESSION['panier']=array();
		$_SESSION['panier']['Nom_auteur'] = array();
		$_SESSION['panier']['Titre'] = array();      
		$_SESSION['panier']['Prix_vente_euro'] = array();
		$_SESSION['panier']['Annee'] = array();      
		$ret=true;
	}
		return $ret;
}

Et le lien pour ajouter l'article au panier:
Code :
<a href=\"panieroriginal.php?action=ajout&amp;au=".$req2['Nom_auteur']."&amp;t=".$req2['Titre']."&amp;p=".$req2['Prix_vente_euro'].";an=".$req2['Annee']."&amp;\" onclick='window.open(this.href, '', 'toolbar=no, location=no, directories=no, status=yes, scrollbars=yes, resizable=yes, copyhistory=no, width=600, height=350'); return false;'>Ajouter au panier</a>
la fonction permettant d'ajouterun article:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function ajouterArticle($Nom_auteur,$Titre,$Prix_vente_euro,$Annee)
{
	if (creationPanier())
	{
		array_push( $_SESSION['panier']['Nom_auteur'],$Nom_auteur);
		array_push( $_SESSION['panier']['Titre'],$Titre); 
		array_push( $_SESSION['panier']['Prix_vente_euro'],$Prix_vente_euro);
		array_push( $_SESSION['panier']['Annee'],$Annee);      
	}
 
	else
	{
		echo "Un problème est survenu veuillez contacter l'administrateur du site.";
	}	
}
RAtiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 20h25   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 383
Points : 16 383
D'apres ton erreur, $_GET ne contient pas l'index "an".
As-tu controlé ce que contenait $_GET ?

Sinon pourquoi vérifies-tu les valeurs de $_GET['action'] ?
Code :
if(in_array( $_GET['action'],array('ajout', 'suppression', 'viderPanier', 'supprimerBD')))
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2008, 15h32   #3
Invité régulier
 
Inscription : avril 2008
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 46
Points : 8
Points : 8
Et comment on vérifie ce qu'il y a dedans stp.

Pour ta deuxième question bah j'ai utilisé un tuto pour faire le panier et ca c'était pas expliqué.
RAtiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2008, 17h29   #4
Invité régulier
 
Inscription : avril 2008
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 46
Points : 8
Points : 8
et voici la fonction qui me permet de créer mon panier:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function creationPanier(){
$ret=false;
 
if (isset( $_SESSION['panier']))
 $ret = true;
else
{
  $_SESSION['panier']=array();
  $_SESSION['panier']['Nom_auteur'] = array();
  $_SESSION['panier']['Titre'] = array();      
  $_SESSION['panier']['Prix_vente_euro'] = array();
  $_SESSION['panier']['Annee'] = array();      
  $ret=true;
}
return $ret;
}
RAtiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2008, 23h44   #5
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
ton code pour l'ajout dans le panier 'est pas complet , se devrait être un formulaire or la on n'en a pas !

Secondo tu ne passe pas de variable 'an' donc quand tu la récupère de l'autre cote bah elle existe pas !
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 11h15   #6
Invité régulier
 
Inscription : avril 2008
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 46
Points : 8
Points : 8
dsl j'ai fait n'importe quoi avec le premier poste, je viens de le modifier. Ce que je ne comprend pas c'est qu'il ma met le nom de l'auteur, le prix... mais pas l'année.
RAtiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 11h17   #7
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
tu as verifi dans l'url que tu ne transmettait pas une année 'vide' ?
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 11h18   #8
Invité régulier
 
Inscription : avril 2008
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 46
Points : 8
Points : 8
et comment tu fais pour le savoir ?
RAtiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 11h21   #9
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
bah apparemment tu transmet tes variables par l'URL donc elles devrait être affichées a cet endroit ...

De plus je viens de voir que tu fais :

an=".$req2['Annee'] donc tu dois récupérer an et pas année dans ton script !
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 11h26   #10
Invité régulier
 
Inscription : avril 2008
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 46
Points : 8
Points : 8
le truc c'est que j'utilise ca pour ajouter, supprimer ou vider le panier.

Code :
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
if (isset($_GET['action']))
{
	if(in_array( $_GET['action'],array('ajout', 'suppression', 'viderPanier', 'supprimerBD')))
	{	
 
		$action = $_GET['action'];
	}
	switch($action)
	{
		Case "ajout":
		$au=preg_replace('#\v#', '',$_GET['au']);
		$t=preg_replace('#\v#', '',$_GET['t']);
		$p=floatval($_GET['p']);
		$an=intval($_GET['an']);
		ajouterArticle($au,$t,$p,$an);
		break;
 
		Case "suppression":		
		$t=preg_replace('#\v#', '',$_GET['t']);
		supprimerArticle($t);
		break;
 
		Case "viderPanier":
		viderPanier();
		break;
 
		Default:
		break;
	}
}
RAtiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 11h28   #11
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
tu as le code de l'affichage du panier ?
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 11h34   #12
Invité régulier
 
Inscription : avril 2008
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 46
Points : 8
Points : 8
voila

Code :
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
<form method="get" action="panieroriginal.php">
<table >
<tr>
      <td colspan="4"><b><font size="4">Votre panier</font></b></td >
</tr>
<tr>
      <td width="550"><b>Auteur</b></td>
      <td width="550"><b>Titre</b></td>
	  <td width="550"><b>Prix</b></td>
      <td width="550"><b>Année</b></td>
      <td width="550"><b>Action</b></td>
</tr>
 
 
<?php
if (creationPanier())
{
	$nbArticles=count($_SESSION['panier']['Titre']);
	if ($nbArticles <= 0)
	{
		echo "<tr><td>Votre panier est vide </ td></tr>";
	}
	else
	{
		for ($i=0 ;$i < $nbArticles ; $i++)
		{
			echo "<tr>";
			echo "<td>".htmlspecialchars($_SESSION['panier']['Nom_auteur'][$i])."</td>";
			echo "<td>".htmlspecialchars($_SESSION['panier']['Titre'][$i])."</td>";
			echo "<td>".htmlspecialchars($_SESSION['panier']['Prix_vente_euro'][$i])." €</td>";
			echo "<td>".htmlspecialchars($_SESSION['panier']['Annee'][$i])."</td>";
			echo "<td><a href=\"".htmlspecialchars("panieroriginal.php?action=suppression&t=".rawurlencode($_SESSION['panier']['Titre'][$i]))."\">Supprimer l'article<a></td>";
			echo "</tr>";
		}  
		echo "<tr>";
		echo "<td width='1500'>";
		echo "Total à payer (hors frais de port) : ".MontantGlobal(); 
		echo"€";
		echo "</td></tr>";;
	}
}
?>
</form>
</td>
RAtiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 11h37   #13
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
sous quelle forme est 'Annee' ?
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 11h43   #14
Invité régulier
 
Inscription : avril 2008
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 46
Points : 8
Points : 8
c'est un entier de 5 chiffre
RAtiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 11h48   #15
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
Citation:
Envoyé par RAtiche Voir le message
c'est un entier de 5 chiffre
tu peux me montrer stp ?
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 15h52   #16
Invité régulier
 
Inscription : avril 2008
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 46
Points : 8
Points : 8
voila c en pièce jointe
Images attachées
Type de fichier : jpg photo.JPG (18,5 Ko, 2 affichages)
RAtiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 15h55   #17
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
Citation:
Envoyé par RAtiche Voir le message
voila c en pièce jointe
lol tu prévois ton panier pour longtemps lol
Blague mise a part tu entre bien des années de la forme : 2008 ?

FAit un

Code :
1
2
3
<pre>
<?php echo var_dump($_SESSION['panier']); ?>
</pre>
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 16h06   #18
Invité régulier
 
Inscription : avril 2008
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 46
Points : 8
Points : 8
Oui les années sont sous cette forme et voila ce qu'il me retourne avec le code que tu m'as donné.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
array(4) {
  ["Nom_auteur"]=>
  array(1) {
    [0]=>
    string(10) "ZOLA Emile"
  }
  ["Titre"]=>
  array(1) {
    [0]=>
    string(21) "Les Rougon-Macquart I"
  }
  ["Prix_vente_euro"]=>
  array(1) {
    [0]=>
    float(35)
  }
  ["Annee"]=>
  array(1) {
    [0]=>
    int(0)
  }
}
Il veut pas de l'année, je pige pas.
RAtiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 16h10   #19
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
ton prix de vente et ton année sont vides , tu ne dois pas les ajouter correctement !

tu es sur que ces deux paramètres ne sont pas vide ?
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/05/2008, 16h12   #20
Invité régulier
 
Inscription : avril 2008
Messages : 46
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 46
Points : 8
Points : 8
certains quand j'affiche l'article et ces détails ils apparaissent. Et puis le prix s'affiche dans mon panier alors que à l'année il me met 0.
RAtiche est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h29.


 
 
 
 
Partenaires

Hébergement Web