fonction javascript et php

Eléphant du PHP | 406 Messages

14 juin 2005, 08:30

salut,

J'ai un formulaire avec listes deroulante et je voudrais si il est possible de faire une fonction javascript qui au click sur un bouton selectionne la premiere valeur de la liste mais aussi vide mes variable de sessions ???


Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 juin 2005, 09:24

Encore une fois,

PHP est un langage serveur
Javascript est un langage client

Quand le Javascript est exécuté, tu n'est plus sur le serveur et tu ne peux plus agir sur des variables PHP sans repasser par le serveur

Si tu veux effacer des variables de sessions, en JS, tu doit réexécuter un script PHP qui va effacer tes variables de sessions
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 100 Messages

14 juin 2005, 09:36

comme tu le dis, c'est du javascript donc t es pas dans le bon forum ... sinon la solution c'est le remote scripting. cf. http://developer.apple.com/internet/web ... frame.html
Script gratuit de videothèque: PhpMesFilms
sur http://phpmesfilms.dyndns.org/

Eléphant du PHP | 406 Messages

14 juin 2005, 09:56

Quand le Javascript est exécuté, tu n'est plus sur le serveur et tu ne peux plus agir sur des variables PHP sans repasser par le serveur
ok
donc je dois faire un bouton pour vider les variable de sessions et un autre pour selectionner le premiere index de ma liste

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 juin 2005, 10:08

Comme tu veux

Mais ce qu'il faut bien que tu gardes à l'esprit qu'il va falloir chargé un script PHP pour effacer tes variables de sessions
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 juin 2005, 10:30

Je crois que tu n'as pas compris ce que j'essaye de te dire.

Dans ta feuille, ton bouton doit rediriger vers une AUTRE page qui elle, va effacer tes variables de sessions.

Le test sur le bouton GET est fait AVANT l'affichage de la page et UNIQUEMENT avant.

C'est donc normal que quand tu clique sur le bouton qui ne fait que appeller une fonction JS, le code PHP ne soit pas interpreté
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 406 Messages

14 juin 2005, 10:34

j ai fait cela
<input type="submit" name="zz" value="zz" OnClick="javascript:zero()"> 
<? if(isset($_POST['zz']))
{ 
unset($_SESSION['fam']);
unset($_SESSION['marque']);
}
echo "<h1>".$_SESSION['fam']."</h1>";
echo "<h1>".$_SESSION['marque']."</h1>";
?>
mais le truc que je pige pas, c est qu il faut que je clique 2 fois sur le bouton pour que sa marche.
Quand je clique une fois sa efface la variable de session et la 2eme fois sa selectionne le 1ere element de la liste et je pige pas trop le pourquoi du comment ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 juin 2005, 10:39

Franchement donny, je crois que tu te paye ma tête

Je te donne des voies d'approndissement et toi, tu fait comme si je disais rien

Dernier avertissement

Est-ce que le code que tu me donnes est dans la même page ? quel est le code de ta fonction JS ?

C'est pas normal que ça fonctionne
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 406 Messages

14 juin 2005, 10:46

J ai fait cela et sa marche.
Je me pai pas ta tete je veux tout faire sur la meme page et pas passer par une page intermediare.
Sa fonctionne car j execute d abord le php sur le serveur et ensuite le javascript sur le client c est bien cela ?
<input type="submit" name="zz" value="zz" > 
<? if(isset($_POST['zz'])) 
{ 
unset($_SESSION['fam']); 
unset($_SESSION['marque']); 
echo "<script>javascript:zero();</script>";
} 
echo "<h1>".$_SESSION['fam']."</h1>"; 
echo "<h1>".$_SESSION['marque']."</h1>"; 
?> 

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 juin 2005, 10:55

Dans le code que tu m'a donné, tu vas effacer tes variables de sessions uniquement si lors du chargement de la page tu as la variable POST["zzz"] qui existe !!!

Mais le fait d'appuyer sur le bouton ne vas pas enclencher le passage par le test PHP

si tu veut faire ce que tu attends, il te faut un truc du genre
<form method="POST" action="page_actuelle.php">
  <input type="submit" name="zz" value="zz" >
<? if(isset($_POST['zz']))
{
unset($_SESSION['fam']);
unset($_SESSION['marque']);
echo "<script>javascript:zero();</script>";
}
echo "<h1>".$_SESSION['fam']."</h1>";
echo "<h1>".$_SESSION['marque']."</h1>";
?>
</form>
Mais pour exécuter ton code PHP à chaque fois que tu clique sur le bouton, tu es OBLIGE de repasser sur le serveur vu que c'est là que s'exécute le PHP avant de réafficher ta page
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 406 Messages

14 juin 2005, 11:00

ouai
j ai sa
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" name="rech" method="post"> 

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 juin 2005, 11:21

Alors là, c'est bon, ca explique pourquoi ça fonctionne

Et tu as encore un problème ? de quelle sorte ? qu'est-ce que tu voudrais ?
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 406 Messages

14 juin 2005, 11:38

nan j ai plus de probleme
mais c est clair que defois j oubli la distinction client serveur
ou je ne la vois pas
Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

14 juin 2005, 11:39

Un petit [RESOLU] :?:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer