Seession et alias

Eléphant du PHP | 330 Messages

22 févr. 2007, 12:35

Bonjour,

Sur une page de login http://www.mondomaine.com/login.php je saisis un mot de passe et si il est bon j'ouvre une session et suis redirigé vers un alias type http://monchoixselonlogin.mondomaine.com/index.php

Dans ce cas de transfert vers un alias, est ce que la session est transmise

Merci
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent

Mammouth du PHP | 684 Messages

22 févr. 2007, 15:14

Je pense que ce doit etre possible du moment que le cookie est valide sur le domaine.
Je peux me tromper mais ce doit etre realisable.

Essaye un bout de code rapide en ouvrant une session et en changeant de page avec un sous domaine different.
Je suis interesser de connaitre le resultat que tu pourra nous apporter.
@++
Zigz4g

Eléphant du PHP | 330 Messages

22 févr. 2007, 17:44

J'arrive bien à me rediriger vers l'alias mais la session n'a plus l'air de marcher
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

22 févr. 2007, 18:21

Que fais-tu comme test ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 330 Messages

22 févr. 2007, 20:58

Pour la form login :
function rediriger($url)

{
  if ( !headers_sent() )
  	{  //  Indique si les en-têtes HTTP ont déjà été envoyés
    header('Location:'.$url); // Envoie un en-tête HTTP
     exit();// On sort 
  }
  else
  	{
    echo '<script language="JavaScript">'; 
    echo 'window.location= "'.$url.'";'; // Redirection JavaScript
    echo '</script>';
  }
}


/* Le formulaire a été soumis, vérification des paramètres de connexion */
if(isset($_POST['envoi'])) 
	{
	
	$email=$_POST['email'];
	$mot_passe=$_POST['mot_passe'];

	$requete = "SELECT * FROM tblmariage WHERE mariageEmail = '$email' AND mariageMotPasse = '$mot_passe'";
	//envoie la requête au serveur MySQL	
	$qid = mysql_query($requete)or exit ('Erreur SQL !'.$qid.'<br>'.mysql_error());
	
	if (mysql_num_rows($qid) > 0) 
		{
		$result= mysql_fetch_array($qid);
		
		session_start();	
		
		$_SESSION['utilisateur'] = $result;

		rediriger($_SESSION['utilisateur']['mariageSite']);
		}
	else
		{
		
		$message_erreur= "Coordonnées incorrectes. Veuillez essayer à nouveau.";
		}
		
		
		
	}


Pour l'alias :
<?php

session_start();

$mariageId=$_SESSION['utilisateur']['mariageId'];

$sql_mariage ="SELECT * FROM tblmariage WHERE mariageId=$mariageId ";
$query_mariage= mysql_query($sql_mariage) or exit ('Erreur SQL1 !'.$query_mariage.'<br>'.mysql_error()); 	

$result_mariage = mysql_fetch_array($query_mariage); 
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent

ViPHP
ViPHP | 1996 Messages

22 févr. 2007, 22:20

Y a une erreur dans ton premier script session_start() ; doit toujours être le premier même avant les fonctions.

Cela donnerai :
<?php
session_start(); 
 
function rediriger($url)

{
  if ( !headers_sent() )
      {  //  Indique si les en-têtes HTTP ont déjà été envoyés
    header('Location:'.$url); // Envoie un en-tête HTTP
     exit();// On sort 
  }
  else
      {
    echo '<script language="JavaScript">'; 
    echo 'window.location= "'.$url.'";'; // Redirection JavaScript
    echo '</script>';
  }
}


/* Le formulaire a été soumis, vérification des paramètres de connexion */
if(isset($_POST['envoi'])) 
    {
    
    $email=$_POST['email'];
    $mot_passe=$_POST['mot_passe'];

    $requete = "SELECT * FROM tblmariage WHERE mariageEmail = '$email' AND mariageMotPasse = '$mot_passe'";
    //envoie la requête au serveur MySQL    
    $qid = mysql_query($requete)or exit ('Erreur SQL !'.$qid.'<br>'.mysql_error());
    
    if (mysql_num_rows($qid) > 0) 
        {
        $result= mysql_fetch_array($qid);
        
          
        
        $_SESSION['utilisateur'] = $result;

        rediriger($_SESSION['utilisateur']['mariageSite']);
        }
    else
        {
        
        $message_erreur= "Coordonnées incorrectes. Veuillez essayer à nouveau.";
        }
        
        
        
    } 
?>
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphant du PHP | 330 Messages

23 févr. 2007, 00:07

Non cela n'est pas cela
-------------------------------------------------------
Il n'y a que les cons et les moules qui adhèrent

ViPHP
ViPHP | 1996 Messages

23 févr. 2007, 11:16

Petite question : est ce que les cookies sont activés ? En effet, les sessions utilise les cookies pour transmettre l'ID de connexion de page en page. Sinon il faut transmettre l'ID de connexion de page en page par la méthode $_GET();
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Mammouth du PHP | 684 Messages

01 mars 2007, 09:58

Petite question : est ce que les cookies sont activés ? En effet, les sessions utilise les cookies pour transmettre l'ID de connexion de page en page. Sinon il faut transmettre l'ID de connexion de page en page par la méthode $_GET();
Il n'est pas tres bon de mettre le session id dans l'url.

Pour Photographiquement Vôtre : A tu des messages d'erreurs ?
Zigz4g