Nils Posté 30 Janvier 2005 Posté 30 Janvier 2005 Bonjour, (2 petits scripts) ayant des pbs avec mes vars de sessions, je me suis fais 2 petites fonctions pour les afficher, il suffit d'appeler la fonction dans la page quand on en a besoin. une => popup_vars_M() pour fenêtre modale, il faut cliquer OK pour continuer, l'autre => popup_vars_N() pour fenêtre normale, affiche les vars dans une nouvelle fenêtre. (pour cette 2ième fonction, il faut aussi un fichier popup_vars.php pour afficher.) popup_vars.php contient : <? $texte = $HTTP_GET_VARS["texte"]; echo $texte; ?> On peut y mettre autant d'arguments qu'on veut, mais par paire : en 1: un identifiant, en 2: la vars désignée par l'identifiant, il y a un saut de ligne à chaque paire affichée. par exemple dans sa page à débeuguer on peut mettre : <?//=============================================================================//=====================popup vars - fenêtre Modale=============================//=============================================================================function popup_vars_M(){ $num_args = func_num_args(); $tab = func_get_args(); $i=0; $undeux=0; while ($i < $num_args) { $undeux++; $texte=$texte.$tab[$i]; $i++; if ($undeux==2) { $texte=$texte."\\n"; $undeux=0; } } echo "<script language='JavaScript'> alert('$texte')</script>";}//=============================================================================//=====================popup vars - fenêtre normale============================//=============================================================================function popup_vars_N(){ $num_args = func_num_args(); $tab = func_get_args(); $i=0; $undeux=0; while ($i < $num_args) { $undeux++; $texte=$texte.$tab[$i]; $i++; if ($undeux==2) { $texte=$texte."<br>"; $undeux=0; } }echo "<script language='JavaScript'> window.open('popup_vars.php?texte=$texte','Debug','width=600,height=200,resizable=yes')</script>";}?> allé, bonsoir ... Nils
Anonymus Posté 31 Janvier 2005 Posté 31 Janvier 2005 Bonjour, 1/ La variable HTTP_GET_VARS est obsolete, il faut utiliser $_GET. Idem pour POST, qui devient : $_POST. 2/ Pour voir afficher toutes les variables : foreach($_SESSION as $k => $v)echo "<br>".$k."-->".$v; Inutile donc de les énumérer. Nico.
petit-ourson Posté 31 Janvier 2005 Posté 31 Janvier 2005 (modifié) on peut également utilisé le code suivant : echo "<pre>";print_r($_SESSION);echo "</pre>"; Le <pre> permet d'avoir un truc lisible. Modifié 31 Janvier 2005 par petit-ourson
Nils Posté 31 Janvier 2005 Auteur Posté 31 Janvier 2005 hello, ok pour les vars obsolettes, mon hébergeur est en PHP4, est-ce que $_POST et $_GET fonctionnent sous PHP4 ? la balise <pre> formate le contenu de $_SESSION ? bon, je ne vois pas bien d'où viennent et ce que contiennent $k et $v ? "=>" veut dire "pointe vers" ?, on n'utilise plus "->" ? (et je vois qu'il y a encore tant de fonctions ou de contrôles que je ne connais pas : "foreach" et "as" ... merci pour tes infos sur mes pertes des variables de session je vais corriger mon code et faire des tests ... encore merci ! à+. Nils. (je me permettrais peut-être de te redemander des validations dans l'autre topic ...)
Anonymus Posté 1 Février 2005 Posté 1 Février 2005 $_POST et $_GET marchent en php4, c'est justement avant qu'elles ne marchent pas. Pour => ca ne veut rien dire, sinon que l'affichage à l'écran se présentera sous la forme : index => variable Mais tu peux préférer la forme -> voire même, si tu ne sais pas trop où tu en est : foreach($_SESSION as $k => $v)echo "<br>\$_SESSION['".$k."'] = ".$v; voire le code de petit ourson.
Nils Posté 1 Février 2005 Auteur Posté 1 Février 2005 Bonjour, Merci pour tout tes "éclairages" sur l'autre topic que j'avais posté. Mais hier, je n'ai pas pu bosser, j'ai dû réinstaller ma machine de devellopement, en vrac à cause d'un disque qui rendait son âme au dieu des disques ... Je digresse un peu, mais je ne connaissais pas les forums, et je dois dire que je reste ébaï ! C'est formidable, avec tout ce qu'on voit ailleurs comment les gens se déchirent, ça fait du baume au coeur !!! (sais tu combien de temps un topic reste dans le forum, si on a besoin de revenir sur les réponses données plus tard dans le temps, ou faut-t'il faire des copiers-collers en local sur sa machine perso ?) sinon, Où puis-je trouver le code de Petit Ourson, je ne suis pas encore familiarisé avec les forums, et celui là non plus. Je reviens sur : foreach($_SESSION as $k => $v)echo "<br>\$_SESSION['".$k."'] = ".$v; dans cette ligne il y a encore des petites choses que je ne saisis pas : 0) je ne vois toujours pas bien ce que peuvent représenter $k et $v, bon $k et ma variable de session, ok, mais $v, ça sert à quoi ? 1) le "=>" va avec le "as" non?, il signifie donc qq chose ? Mais quoi ? => tant que (as) $k pointe vers $v, donc tant que $v n'est pas vide ? 2) à quoi sert le "\" juste après le "<br>" ? 3) quel est la raison pour laquelle il faille mettre à la fois des simples-quotes et doubles-quotes dans les [ ] ? => est-ce que cela est vrai : dans les [], il faut toujours des simples-quotes pour PHP, et pour HTML, pour qu'il affiche le contenu de $k on met les doubles-quotes, et les points pour lier au reste ? C'est ça ? Mais il me semblait pourtant que sans les doubles-quotes, c'est bien le contenu de $k qui aurais été affiché, à moins que ce ne soit pour l'usage des points ? merci, à+. Nils. (désolé, mais je n'ai pas encore suffisament de "briques" en tête ...) (PS, sais-tu comment active t'on une notification auto par email sans avoir à cocher la case "Activer la notification par email lors de réponses ?" à chaque post ?)
Dan Posté 1 Février 2005 Posté 1 Février 2005 (sais tu combien de temps un topic reste dans le forum, si on a besoin de revenir sur les réponses données plus tard dans le temps, ou faut-t'il faire des copiers-collers en local sur sa machine perso ?)../.. (PS, sais-tu comment active t'on une notification auto par email sans avoir à cocher la case "Activer la notification par email lors de réponses ?" à chaque post ?) Salut Nils, Les posts restent "ad-vitam" dans la mesure où ils sont en accord avec les règles du forum. Dans le cas contraire, ils ne restent que rarement au delà de quelques minutes. Pour la notification par email, il suffit d'aller dans le forum qui t'intéresse et cliquer sur le lien dans la barre de titre de celui-ci : "Suivre ce forum". Tu auras le choix de la fréquence d'envoi des emails et pourra à tout moment te désinscrire en allant dans "Mes Contrôles" : http://www.webmaster-hub.com/index.php?act=UserCP&CODE=00 et en suivant le lien du menu à gauche: "Abonnements -> Voir les forums" Dan PS: tu peux aussi "Suivre le sujet", en cliquant sur le lien dans la barre bleu-clair, sous le titre de celui-ci. Regardes juste au-dessus de ton premier post dans ce fil.
Anonymus Posté 3 Février 2005 Posté 3 Février 2005 foreach($_SESSION as $k => $v)echo "<br>\$_SESSION['".$k."'] = ".$v; Cette ligne signifie : Dans le tableau $_SESSION, pour chaque couple 'index','valeur', afficher le nom du tableau, l'index en cours, et sa valeur. Ca marche avec tous les tableaux. Tu devrais faire des essais, pour te rendre compte de ce que ca donne, c'est assez simple. La doc est aussi assez bien documentée sur la facon de parcourir un tableau. Tu peux essayer, par exemple : foreach($_SESSION as $machin => $tartempion) echo "<br>l'index :".$machin."correspond à la valeur :".$tartempion." dans le tableau \$_SESSION; Le signe \ signifie : échapper le caractère suivant. Dans le cas du \$_SESSION, ca signifie : écrire $_SESSION, et non sa valeur. Essaies avec ce morceau de code : $nom="toto"; echo"\$nom=$nom"; Tu verras la différence entre les 2 "$nom". .
petit-ourson Posté 3 Février 2005 Posté 3 Février 2005 Tu peux essayer, par exemple :foreach($_SESSION as $machin => $tartempion) echo "<br>l'index :".$machin."correspond à la valeur :".$tartempion." dans le tableau \$_SESSION"; <{POST_SNAPBACK}> Si tu esssaies, n'oublies pas d'ajouter un guillement supplémentaire.
Nils Posté 3 Février 2005 Auteur Posté 3 Février 2005 re, ok ! merci bien. Et pour simples et doubles quotes dans $_SESSION['".$k."'] quel est leur rôle respectif ? merci. nils.
Anonymus Posté 3 Février 2005 Posté 3 Février 2005 Les simples quotes vont s'afficher dans la page html, alors que les double quote servent à séparer le html du php. Quand tu veux mettre du php dans du html, lui même présent dans du php, alors il faut utiliser les double quote (ou les simple quote, tout dépend avec quoi tu as commencé..
Nils Posté 4 Février 2005 Auteur Posté 4 Février 2005 merci des explications, est-ce que je peux résumer ça ainsi : le contenu des doubles quotes est interprété par HTML, et pas le contenu des simples ? pour HTML, une paire de simples quotes ne contient rien, c'est lu comme n'importe quel caractère a b c ... (à par les spéciaux bien sûr). C'est ça ? HTML ne comprend que les doubles quotes pour interpréer qq chose ? Qu'en est-il de PHP, vaut-il mieux privilégier les simples quotes pour PHP pour interpréter qq chose ? echo 'a'; et echo"a"; include('mapage.php'); et include("mapage.php"); c'est pareil, tout ça, pour PHP ? merci. Nils.
Anonymus Posté 4 Février 2005 Posté 4 Février 2005 Oui, c'est pareil. La seule condition étant que le signe ouvrant est aussi celui qui ferme. Tu ne peux mettre echo"a'; ou echo 'a"; D'où le principe de toujours utiliser la même notation, et aussi de toujours suivre la notation du programme que tu utilises. Certains programmes opensource utilisent le simple quote, il faut, lorsqu'on les modifies, reprendre ces signes, et ne pas y imposer les siens. D'autres utilisent les double quote, idem.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant