Passage de valeur d'une variable de session

Petit nouveau ! | 7 Messages

21 sept. 2007, 02:48

Bonjour à tous. Voilà je suis tout nouvel apprenti en php. Je suis en train de créer un site et le fait de vouloir y incorporer un "chat privé", m'a amené à utiliser ce langage. J’ai regardé quelques scripts et je trouve ça génial ! Mais voilà même si je veux apprendre par moi-même, ça reste difficile à comprendre parfois. Voilà à quoi je voudrai arriver : Une page d’inscription avec envoi de mail pour confirmation et validation par lien. Ceci redirige le nouvel inscrit sur une page d’identification avec pseudo et mdp qui une fois entrés le redirige sur la page de « chat ». Jusque là tout va bien.
D’autre part j’ai récupéré un script pour le « chat », qui est composé d’une page de connexion qui ouvre le « chat ».
Mon problème : Je cherche à assembler ces 2 scripts pour qu’une fois le visiteur identifier (grâce au 1er script « identification »), ouvre la page du « chat » (second script « le chat »). Je ne sais si je me suis bien exprimer, mais si quelqu’un pouvait s’intéresser à mon problème j’écouterais ses conseils avec grand intérêt. Vive le php, je trouve ça magique … Merci.
Modifié en dernier par jblenderj le 21 sept. 2007, 14:27, modifié 1 fois.

Eléphanteau du PHP | 27 Messages

21 sept. 2007, 03:12

tout d'abord bienvenue a toi ,

je suis moi aussi novice et j'ai remarqué que beaucoup de newbies commence par des projets qui les dépasse ....et c'est tant mieux car cela montre leur motivations...

mon premier prog utiliser exactement ce que tu cherche...ce n'est pas un exemple mais je te file quelques lignes concernant le passage de valeur d'une variable de session,cela te permet de l'utiliser sur d'autre pages...voila..esperant te mettre sur la voie :wink:
<?php
session_start();
if (!isset($_SESSION['securite']))#__________redirection vers formulaire.php__(passage obligatoire si securite n'existe pas!)_______
	{
	  ?>
<script language="javascript">
	  window.location="formulaire.php"
	  </script>
<?php
	}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>GBD 1.0 -by epock-</title>
</head>
<body>
<center>
  <?php #___________________________assignation des variables de session____________________________
$user=$_POST['user'];
$pass=$_POST['pass'];
$_SESSION["nom"]=$user;
$_SESSION["code"]=$pass;
$_SESSION["securite"]=1;
?>
</center>
</body>
</html>
puis tu rècupere leur valeur sur une autre page...
<?php
session_start();#__________________debut de session_________________________________________________
if (!isset($_SESSION['securite']))#__________redirection vers formulaire.php__(passage obligatoire si securite n'existe pas!)_______
	{
	  ?>
<script language="javascript">
	  window.location="formulaire.php"
	  </script>
<?php
	}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>GBD 1.0 -by epock-</title>
</head>
<body bgcolor="#CCCCCC" background="">
<center>
  <img src="rire.gif">
  <!--_____recupération des données et ouverture de connexion "mysql"___________________-->
  <?php
$host='localhost';
$base='tchat'; 
if(@mysql_connect($host,$_SESSION['nom'],$_SESSION['code'])==true)#____verif si connexion possible(recup des variables de session)_____
 {
	 echo '<font color="green">','connexion a la base ok......','</font>';
     echo '<br>','<h3>','<font color=#FF6600>','bonjour ',@$_SESSION['nom'],'</font>','</h3>','<br>';
 }
 #_______________si pas connexion______________________________________________________________
if(@mysql_connect($host,$_SESSION['nom'],$_SESSION['code'],$base)==false)  
 {
	echo '<font color="red">','connexion non autorisé !..........','</font>';	
 }
?>
</center>
</body>
</html>

a++ :wink:
Grâce à l’ordinateur, on peut faire plus rapidement des choses qu’on n’aurait pas eu besoin de faire sans ordinateur.

ViPHP
AB
ViPHP | 5818 Messages

21 sept. 2007, 04:24

Bonsoir,

Essayes de sauter quelques lignes de temps en temps, ça rendra ton message plus agréable et facile à lire :wink:

Sinon y'a des super crak sur ce forum mais si tu leur demande comment assembler deux scripts sans connaitre ni le nom de ces scripts ni sans montrer une seule ligne de code, même eux vont avoir du mal à te répondre :D

....
...voila..esperant te mettre sur la voie :wink:
<?php
session_start();
if (!isset($_SESSION['securite']))#__________redirection vers formulaire.php__(passage obligatoire si securite n'existe pas!)_______
	{
	  ?>
<script language="javascript">
	  window.location="formulaire.php"
	  </script>
<?php
	}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>GBD 1.0 -by epock-</title>
</head>
<body>
<center>
  <?php #___________________________assignation des variables de session____________________________
$user=$_POST['user'];
$pass=$_POST['pass'];
$_SESSION["nom"]=$user;
$_SESSION["code"]=$pass;
$_SESSION["securite"]=1;
?>
</center>
</body>
</html>
Bon pour ma part j'suis pas une grosse pointure mais là y'a une GROOOOSSSE FAILLE dans ton système de protection.
C'est quoi cette redirection javascript dans ton code PHP ? Jamais entendu parlé d'un header().

Imagines un court instant qu'un visiteur désactive javascript dans son navigateur et là il passe direct sans aucun problème. Si tu utilises encore ce genre de scripts dépêches-toi de te documenter sur la fonction php header() sinon tu coures à la catastrophe :wink:

<?php
session_start();
if (!isset($_SESSION['securite']))//__________redirection vers formulaire.php__(passage obligatoire si securite n'existe pas!)_______
    {
// Redirige le client vers le formulaire
header("Location: formulaire.php");

//Garantie que le code suivant n'est jamais exécuté. 
exit();
   }

$user=$_POST['user'];
$pass=$_POST['pass'];
$_SESSION["nom"]=$user;
$_SESSION["code"]=$pass;
$_SESSION["securite"]=1; 

?>
Au passage je comprends pas trop pourquoi tu réaffectes une valeur à $_SESSION["securite"]. Mais ça au moins ne pose pas de pb.

Eléphanteau du PHP | 27 Messages

21 sept. 2007, 05:17

merci AB de ton conseil...j'avais zappé la desactivation javascript....mais j'apprend doucement..
Grâce à l’ordinateur, on peut faire plus rapidement des choses qu’on n’aurait pas eu besoin de faire sans ordinateur.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

21 sept. 2007, 09:34

Modération :
Merci d'utiliser un titre clair et qui correspond bien à ta demande.
Tu peux corriger ton titre en éditant ton premier message.

Merci de prendre le temps de lire les règlements.


Et sinon bienvenue :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

x@v
Mammouth du PHP | 570 Messages

21 sept. 2007, 10:06

assembler un chat, rien que ça !
Commence plutôt par envoyez des echo, c'est le début. Ensuite affiche l'heure, la date...

Petit nouveau ! | 7 Messages

21 sept. 2007, 13:52

Merci à tous pour vos réponses. :D

Bien reçu le message « Truc », et je vais suivre ton conseil en allant lire de suite les règles du forum ainsi que changer le titre de mon message.

(Hop, saut de ligne) …

Effectivement « AB », ma demande est vague et je vais essayer d’arranger cela en postant les scripts qu’il me faut travailler.

Désolé mais qu’en je dis que je suis débutant c’est rien de le dire, je lis quelques tutos pour comprendre le fonctionnement de base du php et ainsi essayer de mettre mes premiers scripts en application.

Alors voilà le script pour a page "identification.php" :
<html>
<head>
<title>Identification</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="identification.css" />
</head>
<body>
<?
if (isset($_GET["m"]))
{
?>
<form action="securite.php" method="post">
<div id="identification">
<p>Login :</p>
<p><input type="text" name="userid" size="20" maxlength="40"/></p>
<p>Mot de passe :</p>
<p><input type="password" name="password" size="20" maxlength="40"/></p>
<p><input type="submit" value="Envoyer" /></p>
<?
if ($_GET["m"]=="1")
{
echo "<p style=\"color:#ff0000;font-weight:bold;\">Mauvais login ou mot de passe !</p>";
}
?>
<p><a href="validation.php">S'inscrire</a></p>
</div>
<?
}
?>
</body>
</html>

qui me dirige sur une page appelé « exemple.php » et qui contient ceci :
<?
require "security/secureit.php";
// Exemple test
echo $_SESSION["verified_user"]." , vous êtes bien  identifié(e)";
?>
Je voudrais que ce soit sur cette page que se trouve le chat.


D’autre part j’ai le script du chat dans une page de connexion nommée « index », et qui contient ceci :
<?php 
  // Cette page affiche le détail d'un script pour l'exécution
  include "f_chat.php";
  include "mysql.php";
  Connection();
?>

<HTML>
<HEAD>
   <TITLE><?php print($param["title"]); ?></TITLE>
   <link REL='StyleSheet' TYPE='text/css' HREF='chat.css' />
</HEAD>
<BODY>
<CENTER><B>Le chat de Tout JavaScript</B><BR><BR></CENTER>

<?php
  if (!isset($_POST['user'])) {
    if (!isset($action)) {
      P4_PrintConnect();
   } else {
      P4_PrintCreate();
   }
  } else {
    P4_Connect($_POST['user'],$_POST['pass']);
  }
?>
</BODY></HTML>
Voilà, en fait je voudrais remplacer la page "index" par la page "identification" au niveau de la fonction pour être rediriger sur le « chat ».

Mon explication n’est peut être pas très clair, mais schématiquement je voudrais parvenir à ce résultat :

Identification.php > exemple.php (chat), en récupérant sur cette page le résultat de ce que faisait la page « index ».

PS: Les 2 scripts ont pour le moment une base de données chacuns.

Merci de votre intérêt. :)

Petit nouveau ! | 7 Messages

26 sept. 2007, 12:55

Bonjour,

Personne pour m'aider à résoudre mon problème?

Même en buchant de mon coté, j'ai beaucoup de mal à résoudre ce problème.

Help ! Merci.