passer un array dans l'URL pour inclure des pages en pseudo-fram [PHP] - PHP - Programmation
Marsh Posté le 30-10-2006 à 14:02:12
je sais
edit: elle est belle hein?
edit2: tu pourrais en profiter pour répondre chef.
edit3: tiens au âssage --> comment je pourrais bien m'auto-hacker?
j'ai test:
Code :
|
et ça passe pas.
Marsh Posté le 30-10-2006 à 14:11:47
tu n'aurai pas plutot interet a faire qq chose du genre :
?section=membre&action=accueil
Marsh Posté le 30-10-2006 à 14:13:19
ouais, trop simple.
j'aimais bien mon idée du array.
edit: c'est plus court et propre
Marsh Posté le 30-10-2006 à 14:16:13
l'array , plus propre ?
on a pas la meme viosin de la lpropreté d'un code
parceque la solution que je te donne fonctionne directement, alors que la tienne demande pas mal de bidouille ( les tableaux dans une url n'ont pas d'indice, a moins de jouer avec les serialize )
Marsh Posté le 30-10-2006 à 14:18:49
ça ne me dérange pas de serializer.
donne moi la soluce au lieu d'insister.
(mais c'est vrai que ta méthode est aussi bien...)
Marsh Posté le 30-10-2006 à 14:19:36
serialize est le nom d'une fonction ( anapajari est plus gentil qu emoi il t edonne le lien direct )
Marsh Posté le 30-10-2006 à 14:20:14
sans dec? et tu crois peut être que je suis pas allé sur google et php.net avant de venir ici?
je veux juste qu'on me donner une ébauche de code, ça me reviendra après : j'ai juste oublié comment se traite la var recupérée.
edit:
"serialize est le nom d'une fonction"
ptain je sais. chui un ancien ici, faites pas les salauds et crachez un morceau de code bhourdeÿl.
Marsh Posté le 30-10-2006 à 14:44:26
bande paÿdaÿ phenos
bon ben je me contenterai de ce bouzin:
Code :
|
Marsh Posté le 30-10-2006 à 14:47:12
htmlentities, utilises le quand tu fais un echo, utilisé comme tu le fais ça ne sert pas.
la fonction empty() teste aussi si la variable est définie, c'est donc redondant avec isset()
Marsh Posté le 30-10-2006 à 14:53:09
ok merci ça fera ça de moins.
en effet, sur php.net:
"empty( ) checks for isset AND also the value of the variable"
Code :
|
le htmlentities est ici tout simplement indispensable.
Marsh Posté le 30-10-2006 à 14:56:45
mais j'amerais bien, by the way, qu'on me montre avec le array
Marsh Posté le 30-10-2006 à 15:03:26
ReplyMarsh Posté le 30-10-2006 à 15:17:50
chani_t a écrit : euh.. pour quoi faire sérialiser... dans ce cas ? |
parce qu'on peut pas passer des array dans une URL. il faut serializer et déserializer en sortie.
chani_t a écrit : j'ai lu que le titre du topic moi hein |
Marsh Posté le 30-10-2006 à 15:25:00
tu peux aussi concaténer tes champs, et les retrouver par la suite ( un ti explode par exemple)... ou passer tous tes champs par référence (pas top m'enfin)
Tiens ton exemple avec un objet
Marsh Posté le 30-10-2006 à 15:26:22
pmusa a écrit : |
ouais mais non, htmlentities c'est pour protéger une sortie en transformant les caractères spéciaux en entités html (pour par exemple protéger de la faille XSS de ton autre post).
Là t'as absolument aucun besoin de transformer ta chaîne en entité html. Au contraire, ça pourrait même te poser problème si tu utilises un caractère spécial dans ta chaîne (ce qui serait con, on est d'accord). Par exemple, si $_GET['cat'] vaut "éé".
Code :
|
Tu dois protéger ta variable, on est bien d'accord, mais pas avec htmlemtities, qui sert à générer de l'html. Tu n'as pas besoin de générer du html pour faire un truc en php ...
Utilises plutot un addslashes http://ch2.php.net/manual/fr/function.addslashes.php
ou un truc fait maison du style
Code :
|
Marsh Posté le 30-10-2006 à 15:30:37
pmusa a écrit : parce qu'on peut pas passer des array dans une URL. il faut serializer et déserializer en sortie. |
Bin quoi c'était quand même la bonne réponse
pmusa a écrit : mais j'amerais bien, by the way, qu'on me montre avec le array |
Comme on t'a dit, en utilisant serialize et unserialize, si tu veux vraiment un exemple un truc dans le genre doit faire l'affaire:
fichier a.php:
Code :
|
fichier b.php
Code :
|
Marsh Posté le 30-10-2006 à 18:05:13
THX GUYZ.
Marsh Posté le 30-10-2006 à 13:53:34
Bonjour,
ça fait un baille que je tâte plus du PHP et y'a une chose qui ne me revient plus.
à l'époque, je faisais genre:
Le souci, c'est que parfois il m'arrive d'avoir mes URL tel que -->
www.site.com/?act=membre/inscription
en effet, j'ai un dossier "membre" dans le dossier "include" et je trouve le slash pas tip-top dans l'url.
je voudrais faire un truc plus propre avec des array mais je suis incapable de me débrouiller seul. Il faudrait par exemple que si je fait un lien tel que:
www.monsite.fr/?act[0]=acceuil
Celà inclus le fichier acceuil.php QUI EST A LA RACINE DU DOSSIER INCLUDE
et que si je fait un lien tel qu'il point sur:
www.monsite.fr/?act[1]=inscription
Celà inclus le fichier inscription.php qui est dans le dossier "membre" (ce dernier étant lui-même dans le dossier "include" )
en fait:
0 dans ?act[0] signifierai --> chopper le fichier dans la racine du dossier include
1 dans ?act[1] signifierai --> chopper le fichier dans le dossier "membre" ("membre" est dans le dossier "include" )
mille mercis
---------------
intralase surgery [:cerveau love]