Aller au contenu

une petite fonction ...


Sujets conseillés

Posté

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

Posté

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.

Posté (modifié)

on peut également utilisé le code suivant :

echo "<pre>";
print_r($_SESSION);
echo "</pre>";

Le <pre> permet d'avoir un truc lisible.

Modifié par petit-ourson
Posté

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 ...)

Posté

$_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.

Posté

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 ?)

Posté
(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.

Posté

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".

.

Posté
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.

Posté

re,

ok ! merci bien.

Et pour simples et doubles quotes dans $_SESSION['".$k."']

quel est leur rôle respectif ?

merci.

nils.

Posté

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é..

Posté

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.

Posté

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.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...