KrioK

  • Nombre de sujets
    2
  • Nombre de messages
    4
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses dernières news

Aucune news

Ses derniers sujets sur les forums

forum
KrioK
le 04/07/2004 à 19:22
Probleme de formulaire et de popup
Bonjour tout le monde,

j'ai un problème en voulant envoyer un formulaire à une fenêtre popup.
Voila le code du formulaire (qui se trouve dans du php):
echo "<form name='modifC' method='POST' action='javascript: ouvrirPopUp(\"modifChampContact.php\", \"accueuil\", 300,500);'>";
echo "<input type='hidden' name='numeroC' value='1'>";
echo "</form>


et voila le code du fichier qui reçoit les données:
<?
session_start();
echo "bonjour<br>";

if(!isset($HTTP_POST_VARS["numeroC"]))
{
echo "n'est pas affecté";
}
else
{
$n= $HTTP_POST_VARS["numeroC"];
echo "$n";
}
?>


Donc quand j'utilise ce code, il m'ouvre la fenêtre popup et m'afiche le message "n'est pas affecté".

Par contre, si au lieu d'ouvrir mon fichier dans une popup, je l'ouvre dans la fenêtre principale avec le code suivant:
echo "<form name='modifC' method='POST' action='modifChampContact.php'>";
echo "<input type='hidden' name='numeroC' value='1'>";
echo "</form>

Alors j'obtiens bien le résultat voulu.

Quelqun pourrait il m'expliquer à quoi cela est il du?
Merci d'avance

KrioK
KrioK
Bonjour tout le monde,

j'ai un probleme sur lequel j'ai passe la nuit donc si l'un d'entre vous est susceptible de m'aider je lui (/leur ) en serai tres reconnaissant.
Voila mon probleme:
je demande une authentification pour acceder a une page en utilisant
header('WWW-Authenticate: Basic realm="Authentification Membres"');


pour obtenir une fenetre pop up dans laquelle on se logue. Jusque la tout va bien ...Le probleme arrive au moment ou je veux me deloguer...j'aimerai qu'en cliquant sur un bouton, le serveur efface toutes les donnees sur la session. J'ai donc ecrit:
unset($GLOBALS["HTTP_SERVER_VARS"]); 
unset($GLOBALS["HTTP_POST_VARS"]);
unset($GLOBALS["HTTP_SESSION_VARS"]);
unset($GLOBALS["PHP_AUTH_USER"]);


Quand je lui demande d'afficher le login
echo "nom $HTTP_SERVER_VARS[PHP_AUTH_USER]<br>";


avant et apres mes instructions d'effacement general tout semble bien marcher (il me donne le login avant, et rien apres),
le probleme est que quand je rappuie sur le bouton, il me donne de nouveau le login alors que je pensais qu'il etait efface....

On m'a dit que ca pourrait venir du navigateur mais je ne vois pas trop comment faire.
Si quelqun avait un début (voire la totalité ) d'une explication, ce serait tres sympa.

Merci d'avance

Tschusss
KrioK

Ses derniers messages sur les forums

forum
KrioK
le 04/07/2004 à 19:22
Probleme de formulaire et de popup
Bonjour tout le monde,

j'ai un problème en voulant envoyer un formulaire à une fenêtre popup.
Voila le code du formulaire (qui se trouve dans du php):
echo "<form name='modifC' method='POST' action='javascript: ouvrirPopUp(\"modifChampContact.php\", \"accueuil\", 300,500);'>";
echo "<input type='hidden' name='numeroC' value='1'>";
echo "</form>


et voila le code du fichier qui reçoit les données:
<?
session_start();
echo "bonjour<br>";

if(!isset($HTTP_POST_VARS["numeroC"]))
{
echo "n'est pas affecté";
}
else
{
$n= $HTTP_POST_VARS["numeroC"];
echo "$n";
}
?>


Donc quand j'utilise ce code, il m'ouvre la fenêtre popup et m'afiche le message "n'est pas affecté".

Par contre, si au lieu d'ouvrir mon fichier dans une popup, je l'ouvre dans la fenêtre principale avec le code suivant:
echo "<form name='modifC' method='POST' action='modifChampContact.php'>";
echo "<input type='hidden' name='numeroC' value='1'>";
echo "</form>

Alors j'obtiens bien le résultat voulu.

Quelqun pourrait il m'expliquer à quoi cela est il du?
Merci d'avance

KrioK
KrioK
Bonjour tout le monde,

je n'ai toujours pas résolu mon problème de session HTTP car il se trouve que le navigateur garde en cache les données qu'on lui passe et malgré les instructions que PHP fournit pour gérer les caches, je n'ai jamais réussi à les vider.
Du coup j'ai fait ma propre fenêtre qui lance une session PHP, nettement plus simple à gérer.
Donc si certains ont rencontré le même problème que moi, ils peuvent essayer ce code qui marche bien. Comme je ne suis pas un grand programmeur il y avait certainement plus subtil, mais en tout cas ça fonctionne:
1_lien à partir duquel vous appelez la popup
<a class="cote " href='javascript: ouvrirPopUp("auth.php", "accueuil", 300, 200);' name="authentificationMembre" >

2_Le fichier .js pour ouvir la fenêtre: en gros on ouvre une fenetre dont on fixe les dimensions et on la centre
var ns4 = (document.layers)? true:false;    //NS 4 
var ie4 = (document.all)? true:false; //IE 4
var dom = (document.getElementById)? true:false; //DOM

function ouvrirPopUp(nomFichierCible,nomFenetre,largeur,hauteur)
{

var xMax, yMax, xOffset, yOffset;;

if (ie4 || dom)
{
xMax = screen.width;
yMax = screen.height;
}
else if (ns4)
{
xMax = window.outerWidth;
yMax = window.outerHeight;
}
else
{
xMax = 800;
yMax = 600;
}
xOffset = (xMax - largeur)/2;
yOffset = (yMax - hauteur)/2;
window.open(nomFichierCible,nomFenetre,'width='+largeur
+',height='+hauteur+',screenX='+xOffset+',screenY='+yOffset+',top='+yOffset
+',left='+xOffset+',scrollbars=no,resizable=no');
}

3_Le formulaire qui s'ouve dans la popup:On y demande un nom et un mot de passe. Comme je voulais que la popup se ferme quand dans les sessions HTTP au bout de 3 tentatives, il y a un compteur. L'entête en JavaScript permet de vérifier que l'utilisateur a bien rempli les 2 champs avant d'envoyer le formulaire.
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1517]ce lien[/lien])

4_le fichier php qui traite le formulaire:
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1518]ce lien[/lien])


Voila, comme ca vous avez une fenetre popup qui s'ouvre quand vous cliquez sur le lien et qui vous laisse 3 tentatives de connexion en vous indiquant le numéro de votre tentative actuelle, puis se ferme à la 3e.

J'espère que ça pourra en aider certains.

Tschüssssssssss

KrioK
KrioK
Salut

Merci de ta réponse mais en fait je n'utilise les sessions PHP donc il n'y a pas de session_start() ni
de session_destroy();

Ici j'essaie d'utiliser les sessions http dans lesquels les nom et mot de passe sont enregistres dans $HTTP_SERVER_VARS["PHP_AUTH_USER"]
et $HTTP_SERVER_VARS["PHP_AUTH_PW"]

Par contre j'ai deja utilise des sessions PHP et c'est vrai que ca pose moins de probleme...

Merci d'avance pour vos reponses

Tschüsssssssss
KrioK

Ses derniers commentaires de news

Aucun commentaire de news

Ses derniers commentaires de sites

Aucun commentaire de sites

Ses derniers commentaires de wall

Aucun commentaire wall
LoadingChargement en cours