Bonsoir,
Je voudrais savoir s'il est possible de créer un champs avec une adresse de redirection automatique (exemple: page1.php)
Cela pour redirigé automatiquement vers certaine page telle ou telle utilisateur ?
Merci
Je me suis mal exprimer je crois.Salut,
C'est possible, pourqui pas ?
Suffit d'enregistrer la page (page1.php) comme tu l'as dis et éventuellement le chemin puis d'utiliser une fonction de redirection header()
Ah oui ok je commence à comprendreEt ?!
Je ne vois pas la différence![]()
Lors de l'identification du récupères les données du membre y compri le champ URL avec la page de redirection. Si l'identification est réussi alors tu rediriges vers cette page récupérée de la base.
C'est exact ???header('Location: $url');
header('Location:'.$url);
Ok alors encore une question stp, j'ai créer un champ (VARCHAR) ou j'ai indiqué l'url "http://monsite.com" c'est correct ??? parce que si oui cela ne marche pas, quand je me logue mon formulaire se vide et rien ne se passe....C'est exact mais attention à ne pas inclure une variable entre apostrophes, elle ne serait pas interprétée. Sépare la variable du reste de la chaine de caractères:
header('Location:'.$url);
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
$base = mysql_connect ('localhost', '', '');
mysql_select_db ('', $base);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
header('Location:'.$url);
exit();
}
// si on ne trouve aucune réponse, le visiteru s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<html>
<head>
<title>Accueil</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body background="img/grd-4px.gif">
<p align="center"><font size="6" face="Academy Engraved LET">Identification</font><font face="Algerian" size="6">
</font>:</p>
<p align="center"> </p>
<p align="center"><br />
</p>
<form action="index.php" method="post">
<div align="center">Login :
<input type="text" name="login" value="<?php if (isset($_POST['login'])) echo stripslashes(htmlentities(trim($_POST['login']))); ?>">
<br />
Mot de passe :
<input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo stripslashes(htmlentities(trim($_POST['pass']))); ?>">
</div>
<div align="center">
<br />
<input type="submit" name="connexion" value="Connexion">
</div>
</form>
<div align="center">
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</div>
</body>
</html>
$sql = 'SELECT url FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'"';
Et remplace ces lignes:
if ($data[0] == 1) {
par
if (mysql_num_rows($req) == 1) {
header('Location:'.$url);
par$url = $data['url']; //avec url le nom du champ
header('Location:'.$url);
Décale ou enlève aussi cette ligne
mysql_free_result($req);
après ce test:
if (mysql_num_rows($req) == 1) {