Rafraichir un cadre dans lequel se trouve du code php

Résolu
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 - 6 juin 2005 à 16:42
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 - 6 juin 2005 à 20:26
Bonjour,

J'ai parcouru les multiples messages traitant du rafraichissement laissés sur le forum mais je n'ai pas trouvé la réponse à mon problème .
Mon site est composé de 2 cadres, un affichant le sommaire et l'autre le contenu correspondant. Sur le cadre du sommaire se trouve ce code :
<?
session_start();
if(!isset($_SESSION['login']))
{
echo"<form method="POST" action="ident_esp_perso.php">


</form>";
}
else
{
echo"<form method="POST" action="logout.php">


</form>";
}
?>
Lorsque l'utilisateur se connecte lorsqu'il souhaite accéder à un espace réservé(via un formulaire tout simple avec login et mot de passe), je voudrais que le bouton 'se connecter' deviennent 'se déconnecter'.
Le cadre du sommaire correspond au fichier 'sommaire.php'. J'ai essayé plusieurs choses comme :
- header("refresh: sommaire.php"); -> sans résultats
- le rafraichissement de sommaire.php toutes les 5 sec (non retenu car clic toute les 5 sec)

Comment pourrais-je résoudre ce problème ?

Merci d'avance

12 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
6 juin 2005 à 20:21
Ah ouais ok je comprends mieux ton problème, bah lorsque tu fais ça,
sur ta page de droite tu mets un code javascript par exemple qui va
recharger le cadre de gauche. Consulte le forum JS pour plus
d'explications. Mais personnellement si j'étais toi j'enlèverai tous
les cadres pour faire un site propre en XHTML strict.

a+

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
6 juin 2005 à 18:14
Salut,



faudrait que tu nous montre ton code concernant l'ajout de session...



Ensuite vu tes formulaires, ça ne sert à rien, autant mettre des liens



<?php

session_start();

if(!isset($_SESSION['login']))

{

echo '[ident_esp_perso.php Se connecter]';

}

else

{

echo '[logout.php Se déconnecter]';

}

?>

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
6 juin 2005 à 18:43
Voici mon code de création de session :


$date_time=date("Y-m-d H:i:s");
session_start();
//Création de session
$_SESSION['login']=$login;
//Requete de MAJ de l'heure de début de session
$MAJ="UPDATE compte
SET Debutsession= '#$date_time#'
WHERE Login='$login'";
$queryresultat2 = mysql_query($MAJ) or die ("Impossible d'éxécuter la requête de mise a jour du debut de la session");

Sinon que ce soit un bouton ou un lien, le problème reste le même non ?
Merci d'avance
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
6 juin 2005 à 18:46
$_SESSION['login']=$login;



ton $login il vient d'où ?



d'un formulaire ?


<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
6 juin 2005 à 18:54
Oui, d'un formulaire tout simple : saisi d'un identifiant et d'un mot de passe (justement accessible depuis mon bouton connection de mon cadre sommaire) : il s'agit du fichier ident_esp_perso.php
Pourquoi est-ce important ?
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
6 juin 2005 à 18:56
bah si c'est en méthode post :



$_SESSION['login']=$_POST['login'];



attention cependant à tes requêtes et aux failles de SQL injection...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
6 juin 2005 à 19:07
En effet, la transmission s'effectue par la méthode POST. Que veux-tu dire par faille SQL injection ?
Faut-il que je modifie ma façon de procéder et enfin comment puis-je mon problème originel (rafraichissement de mon cadre sommaire) car même si je met un bouton fixe "déconnexion" dans un coin comme sur ce site ([ www.phpcs.com]), j'aimerais ne pas laisser le lien ou le bouton connexion en parmanence, ca peut prêter à confusion.

Merci d'avance
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
6 juin 2005 à 19:12
bah je veux dire que si l'user rentre comme login par exemple

ceci :



' OR 1='1



ta requête laisse tout passer, que le login ou le pseudo soient inexacts



$MAJ="UPDATE compte

SET Debutsession= '#$date_time#'

WHERE Login='$login'";

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
6 juin 2005 à 19:27
Non car je le test auparavant :
//Récupération des données de sessions
$login=$_POST['Identifiant'];
$mot=$_POST['Mot'];

include "connexion.php";
connexion();
$result="SELECT *
FROM compte
WHERE Login='$login'
AND Motdepasse= PASSWORD('$mot')";

$queryresultat = mysql_query($result) or die ("Impossible d'executer la requête : Vérification du compte.");
$test='';
while($row = mysql_fetch_row($queryresultat))
{
$test = $row[0];
}

//Si l'identification a échouée
if ($test=='')
{
\\ message d'erreur
}
else
{
[file://\\ ouverture \\ ouverture] de session

}

Ca suffit non?
Sinon, je n'ai toujours pas de solution pour mon problème de rafraichissement...
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
6 juin 2005 à 19:36
tu testes rien du tout avec ça...



D'abord faut vérifier que la variable existe avec isset()



ensuite faut penser aux addslashes et stripslashes (regarde ma source sur les magic quotes)



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
6 juin 2005 à 19:39
Ok merci,
As-tu une idée au sujet du rafraichissement de mon cadre ?
0
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
6 juin 2005 à 20:26
Merci beaucoup
J'avais choisi les cadres pour permettre une navigation plus simple mais finalement, ca complique bien la tâche.
Je vais à la recherche du script JS qui résoudrait mon pb.
0
Rejoignez-nous