Problème de redirection

Signaler
Messages postés
8
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
1 juillet 2014
-
Messages postés
23
Date d'inscription
jeudi 23 février 2012
Statut
Membre
Dernière intervention
11 mars 2012
-
Bonjour,
Alors voila j'ai télécharger un script de connections/inscription ici même mais je voudrais rajouter lorsque un membre se connecte , qu'il soit rediriger sur SA page perso .
voila , merci de votre aide

9 réponses

Messages postés
12
Date d'inscription
lundi 25 mai 2009
Statut
Membre
Dernière intervention
16 mars 2012

salut,


Après la connexion ou l'inscription, tu peux ajouter dans ton code php,
header("Location: lien vers la page perso");


cela permet de faire la redirection vers une autre page!
Messages postés
8
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
1 juillet 2014

merci de ta réponse, mais je voudrais que chacun est sa propre page perso
Exemple :
pierre se connecte => redirection vers page perso a pierre
paul se connecte => redirection vers page perso a paul
Messages postés
23
Date d'inscription
jeudi 23 février 2012
Statut
Membre
Dernière intervention
11 mars 2012

header("Location: http://".$_SERVER['HTTP_HOST']."/".$_POST['prenom']."");

header("Location: http://".$_SERVER['HTTP_HOST']."/".$_SESSION['prenom']."");

Mon site en cours de développement
Messages postés
8
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
1 juillet 2014

merci de ta réponse , mais peut tu m'expliquer ou mettre se code et si je doit remplacer quelque chose
Messages postés
23
Date d'inscription
jeudi 23 février 2012
Statut
Membre
Dernière intervention
11 mars 2012

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )
header() permet de spécifier l'en-tête HTTP string lors de l'envoi des fichiers HTML. Reportez-vous à » HTTP/1.1 Specification pour plus d'informations sur les en-têtes HTTP.

N'oubliez jamais que header() doit être appelée avant que le moindre contenu ne soit envoyé, soit par des lignes HTML habituelles dans le fichier, soit par des affichages PHP. Une erreur très classique est de lire un fichier avec include() ou require(), et de laisser des espaces ou des lignes vides, qui produiront un affichage avant que la fonction header() ne soit appelée. Le même problème existe avec les fichiers PHP/HTML standards.

Citation de : Php.net

En résumé, tu dois le mettre au tout début de te script php, et/ou juste après un session start(à vérifier pour les sessions je n'en suis pas sûr).

Mon site en cours de développement
Messages postés
8
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
1 juillet 2014

et je doit remplacer quoi dans le code
Messages postés
23
Date d'inscription
jeudi 23 février 2012
Statut
Membre
Dernière intervention
11 mars 2012

Donnes nous le code de tes pages:
- la page de connexion
- la page notée dans le <form action=""> de la page connexion
Sinon on va avoir du mal à t'aider...


Mon site en cours de développement
Messages postés
8
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
1 juillet 2014

connexion :

<?php
include('config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
<title>Connection</title>
</head>



[<?php echo $url_home; ?> /images/logo.png" alt="Espace Membre" />]


<?php
//Si lutilisateur est connecte, on le deconecte
if(isset($_SESSION['username']))
{
//On le deconecte en supprimant simplement les sessions username et userid
unset($_SESSION['username'], $_SESSION['userid']);
?>

Vous avez bien été déconnecté.

[<?php echo $url_home; ?> Accueil]

<?php
}
else
{
$ousername = '';
//On verifie si le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password']))
{
//On echappe les variables pour pouvoir les mettre dans des requetes SQL
if(get_magic_quotes_gpc())
{
$ousername = stripslashes($_POST['username']);
$username = mysql_real_escape_string(stripslashes($_POST['username']));
$password = stripslashes($_POST['password']);
}
else
{
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
}
//On recupere le mot de passe de lutilisateur
$req = mysql_query('select password,id from users where username="'.$username.'"');
$dn = mysql_fetch_array($req);
//On le compare a celui quil a entre et on verifie si le membre existe
if($dn['password']==$password and mysql_num_rows($req)>0)
{
//Si le mot de passe es bon, on ne vas pas afficher le formulaire
$form = false;
//On enregistre son pseudo dans la session username et son identifiant dans la session userid
$_SESSION['username'] = $_POST['username'];
$_SESSION['userid'] = $dn['id'];
?>

Vous avez bien été connecté. Vous pouvez accéder à votre espace membre.

[<?php echo $url_home; ?> Accueil]

<?php
}
else
{
//Sinon, on indique que la combinaison nest pas bonne
$form = true;
$message = 'La combinaison que vous avez entré n\'est pas bonne.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '
'.$message.'
';
}
//On affiche le formulaire
?>


<form action="connexion.php" method="post">
Veuillez entrer vos identifiants pour vous connecter:



<label for="username">Nom d'utilisateur</label>" />

<label for="password">Mot de passe</label>




</form>


<?php
}
}
?>

[<?php echo $url_home; ?> Retour à l'accueil] - Support du Web


</html>




et espace membres ou il ya <form action="">




<?php require_once('include/connexion.php'); ?>
<?php
/*
-----------------------------------
------ SCRIPT DE PROTECTION -------
DBProtect V1.2
-----------------------------------
*/
/*
session_start(); // On relaye la session
if (session_is_registered("authentification") && $_SESSION['privilege'] == "Prof"){ // vérification sur la session authentification (la session est elle enregistrée ?)
// On vérifie également si la session ouverte est bien une session admin et on place ici les éventuelles actions en cas de réussite de la connexion
}
else {
header("Location:index.php?erreur=intru"); // redirection en cas d'echec
}
*/
?>
<?php
// ------ AJOUT D'UN UTILISATEUR --------
if(isset($_POST['login'])){ // on vérifie la présence des variables de formulaire (si le formulaire a été envoyé)
if(($_POST['login'] == "") || ($_POST['pass'] == "")){ // si login ou mot de passe non spécifiés >> message d'erreur
header("Location:admin.php?erreur=empty");
}
else if($_POST['pass'] == $_POST['pass2']){ // on vérifie si le mot de passe et le mot de passe confirmé ont la même valeur
// on passe toutes les variables $POST en variables
$login = $_POST['login'];
$pass = $_POST['pass']; // ici, on crypte le mot de passe à l'aide de MD5 (c'est tout simple non ? :)
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$privilege = $_POST['privilege'];
$email = $_POST['email'];
// on fait l'INSERT dans la base de données
$add_user = sprintf("INSERT INTO utilisateurs (login, pass, nom, prenom, privilege, email) VALUES ('$login', '$pass', '$nom', '$prenom', '$privilege', '$email')");
mysql_select_db($database_dbprotect, $dbprotect);
$result = mysql_query($add_user, $dbprotect) or die(mysql_error());
header("Location:admin.php?add=ok"); // redirection si création réussie
}
else{
header("Location:admin.php?erreur=pass"); // redirection si le pass1 est différent du pass2
}
}

// ------ SUPPRESSION D'UN UTILISATEUR --------
// on fait la requête sur tous les utilisateurs de la base pour alimenter notre sélecteur (on fait un tri par nom)
mysql_select_db($database_dbprotect, $dbprotect);
$query_users = "SELECT * FROM utilisateurs ORDER BY nom ASC"; // ORDER BY renvoi les données triées (ici par nom croissant)
$users = mysql_query($query_users, $dbprotect) or die(mysql_error());
$row_users = mysql_fetch_assoc($users);

if(isset($_POST['suppr']) && ($_POST['suppr'] != "1")){ // on vérifie la présence des variables de formulaire (si le formulaire a été envoyé)
$id = $_POST['suppr'];
$delete_user = sprintf("DELETE FROM utilisateurs WHERE id_user='$id'");

mysql_select_db($database_dbprotect, $dbprotect);
$result = mysql_query($delete_user, $dbprotect) or die(mysql_error());
header("Location:admin.php?delete=ok"); // url qui servira pour afficher le message de réussite
}
?>
<html>
<head>
<title>ADMINISTRATION - DBProtect</title>
<link href="styles.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.Style1 {color: #666666}
.Style2 {
color: #B82130;
font-weight: bold;
}
.Style4 {color: #999999}
body {
background-image: url(images/fr_bg_blk.gif);
}
<!--
.Style6 {color: #660066}
.style10 {text-align: left;
}
.style5 {color: #4C93C4;
}
.Style1 {color: #333333}
.Style3 {color: #000000}

-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<?php include('include/headr.php'); ?>,

----

<table width="877" height="71" align="center" bgcolor="#FFFFFF">
<hr width="90%">
----, Bienvenue "<?php echo $_SESSION['prenom']; ?> <?php echo $_SESSION['nom']; ?>".

</td>
<table width="613" height="40">

----,
Ajoute un nouveau utilisateur
<hr width=\"70%\"></td>

[index.php?erreur=logout ]

</td>
<td>



</html>
Messages postés
23
Date d'inscription
jeudi 23 février 2012
Statut
Membre
Dernière intervention
11 mars 2012

essais un select avec $_SESSION['username']

sinon essais avec la redirection en html moins contraignante

<head>
<meta http-equiv="refresh" content="0; URL=http://www.url.com/pageperso.php
?username=<? echo $_SESSION['username'];?>">

</head>

après tu récupères, ta variable avec $_GET

Mon site en cours de développement