[php] split impossible
Résolu
94_killer_94
Messages postés
234
Date d'inscription
Statut
Membre
Dernière intervention
-
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
Salut tout le monde,
voila mon problème :
[...]
else {
$resultat = split("_",$panier); // Division de la valeur contenue dans le cookie, en fonction des caractères "_"
$id=0;
while( isset ( $resultat[$id] ) ) {
if ($id!=0){ // Par ce que sinon, j'ai une ligne en trop qui apparait
$a = $resultat[$id];
print "$a"; // Pour vérifier que je l'ai bien
$b = split("*","$a"); // Mais c'est ici que ca ne veut pas marcher
print "<br>";
print "Valeur b : ".$b;
print "<br><br>";
}
else { }
$id++;
}
}
Je ne peux pas décomposer une valeur déja décomposée...
Mon système est pour faire un panier pour le client...
voila les valeurs : _Objet1*Quantité1_Objet2*Quantité2_... ainsi de suite
Alors, pk je ne peux pas séparer cette variable ?
Merci d'avance
@+ Mat
voila mon problème :
[...]
else {
$resultat = split("_",$panier); // Division de la valeur contenue dans le cookie, en fonction des caractères "_"
$id=0;
while( isset ( $resultat[$id] ) ) {
if ($id!=0){ // Par ce que sinon, j'ai une ligne en trop qui apparait
$a = $resultat[$id];
print "$a"; // Pour vérifier que je l'ai bien
$b = split("*","$a"); // Mais c'est ici que ca ne veut pas marcher
print "<br>";
print "Valeur b : ".$b;
print "<br><br>";
}
else { }
$id++;
}
}
Je ne peux pas décomposer une valeur déja décomposée...
Mon système est pour faire un panier pour le client...
voila les valeurs : _Objet1*Quantité1_Objet2*Quantité2_... ainsi de suite
Alors, pk je ne peux pas séparer cette variable ?
Merci d'avance
@+ Mat
A voir également:
- [php] split impossible
- Split cam - Télécharger - Messagerie
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Split 4g - Télécharger - Gestion de fichiers
- Split mp3 - Télécharger - Édition & Montage
5 réponses
Salut,
Je pense que ça ne marche pas car split utilise les expressions rationnelles comme séparateurs. Or * est particulier dans une expression régulière. Ca signifie "zero ou plusieiurs" et c'est censé s'appliquer à l'élément qui le précède:
http://www.commentcamarche.net/php/phpreg.php3
Prends plutôt
Explode utilise plus simplement une chaine normale comme séparateur.
Je pense que ça ne marche pas car split utilise les expressions rationnelles comme séparateurs. Or * est particulier dans une expression régulière. Ca signifie "zero ou plusieiurs" et c'est censé s'appliquer à l'élément qui le précède:
http://www.commentcamarche.net/php/phpreg.php3
Prends plutôt
$b = explode("*","$a");
Explode utilise plus simplement une chaine normale comme séparateur.
Li4uLlZvdHJlIGTpdm916SBzZXJ2aXRldXIuLi4u
Au fait si l'utilisateur efface ses cookies, il n'a plus de panier ? :-)
Li4uLlZvdHJlIGTpdm916SBzZXJ2aXRldXIuLi4u
C vrai !! J'avais pas pensé au fait meme que certain utilisateurs n'acceptent meme pas les cookies !!! Mince !!
Bon, bah je pense que je vais chercher une autre solution, vu que ca doit convenir à toue le monde...
Sinon, merci pour le explode, je vais aller essayer ( meme si du coup je ne sais pas si je vais garder les cookies ... )
Merci
@+ Mat
Bon, bah je pense que je vais chercher une autre solution, vu que ca doit convenir à toue le monde...
Sinon, merci pour le explode, je vais aller essayer ( meme si du coup je ne sais pas si je vais garder les cookies ... )
Merci
@+ Mat
Dans le cadre de l'amélioration du site, voila le récapitulatif du problème :
au lieu d'utiliser :
$b split ( "*" , $a );
il faut que j'utilise
$b explode ("*" , $a );
car la première solution comprend le signe "*" comme un caractère spécial et non la seconde solution.
Merci a kilian ;)
@+ Mat
au lieu d'utiliser :
$b split ( "*" , $a );
il faut que j'utilise
$b explode ("*" , $a );
car la première solution comprend le signe "*" comme un caractère spécial et non la seconde solution.
Merci a kilian ;)
@+ Mat
Tu as aussi la possibilité d'échapper le caractère, en le faisant précéder d'un antislash :
Je ne saurais que te conseiller l'utilisation de sessions pour la gestion de ton panier !
$b = split("\*","$a");
Je ne saurais que te conseiller l'utilisation de sessions pour la gestion de ton panier !
Jeff \--Webmaster@CCM--/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
Utiliser les sessions pour transmettre les données de page en page, ça d'accord, mais il faut aussi stocker les données.
Bon les cookies, on l'a vu c'est pas le mieux pour le panier d'un client :-)
Tu as le choix entre les fichiers texte et une base de données.
Le texte je pense que tout le monde peut y avoir accés (même si je ne sais pas vraiment de quoi on est capable avec les permissions des fichiers) et ça me semble moins pratique à exploiter qu'une base de données.
Donc je te conseille de stocker les données des clients dans une base de données :-) (Puis après, les faire transiter à travers les pages en utilisant les sessions)... Après ce n'est que mon avis, la sécurité sur un site web c'est pas mon fort donc je te conseille de te renseigner là dessus si tu fais un site commercial...
Utiliser les sessions pour transmettre les données de page en page, ça d'accord, mais il faut aussi stocker les données.
Bon les cookies, on l'a vu c'est pas le mieux pour le panier d'un client :-)
Tu as le choix entre les fichiers texte et une base de données.
Le texte je pense que tout le monde peut y avoir accés (même si je ne sais pas vraiment de quoi on est capable avec les permissions des fichiers) et ça me semble moins pratique à exploiter qu'une base de données.
Donc je te conseille de stocker les données des clients dans une base de données :-) (Puis après, les faire transiter à travers les pages en utilisant les sessions)... Après ce n'est que mon avis, la sécurité sur un site web c'est pas mon fort donc je te conseille de te renseigner là dessus si tu fais un site commercial...
Li4uLlZvdHJlIGTpdm916SBzZXJ2aXRldXIuLi4u