probleme de lien

Eléphant du PHP | 70 Messages

30 juin 2007, 17:21

bonjours

je but sur probleme de lien
tout fonctionne mais pour redirectionner
un membres sur sa page sa bloc
alors que j'ai cree une page pour tester que jai intitule lien.php que j'ai mis dans le meme dossiers

merci



<!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=iso-8859-1" />
<title>Document sans titre</title>
</head>

<body>
<?php
$hote="localhost";

$user="pol";

$mpass="polo";

$base=mysql_connect($hote,$user,$mpass) or die("connextion impossible.");
mysql_select_db ('test', $base);


if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
  extract($_POST);
 
  $sql = "select pwd from tbl_user where login='".$login."'";
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

  $data = mysql_fetch_assoc($req);

  if($data['pwd'] != $pass) {
    echo '<p>Mauvais login / password. Merci de recommencer</p>';
    include('login.htm'); // On inclut le formulaire d'identification
    exit;
  }
  else {
    session_start();
    $_SESSION['login'] = $login;
    
    echo 'Vous etes bien logué';
    
//probleme ici

<A HREF=<?php echo"\"lien.php"\"?></a> ;

  }   
}
else {
  echo '<p>Vous avez oublié de remplir un champ.</p>';
   include('login.htm'); // On inclut le formulaire d'identification
   exit;
}


?>
</body>
</html>

lux
Eléphant du PHP | 372 Messages

30 juin 2007, 19:03

Regarde du côté de la fonction header :wink:

Eléphant du PHP | 70 Messages

30 juin 2007, 19:29

peut on faire un lien php sans passer avec header genre HERF

sinon peutu m'aider un peut plus car je galere aver les headers
merci

lux
Eléphant du PHP | 372 Messages

30 juin 2007, 19:43

Bon je vois a peu près ce que tu veux faire, une partie ou on entre par login.

Il y a 3 cas :

- Le login/pass sont bons
- Le login/pass ne sont pas bons
- Un des champs n'est pas rempli

Donc je ferai :

La page ou on se connecte (avec le formulaire avec le champ login/mdp), qui s'appelle index.php.
Quand l'utilisateur remplis le formulaire et envoie les données, tu fais tes vérifications :

Si login et pass sont bons, tu rediriges (avec header) vers accueil.php (p.ex) et tu mets
 $_SESSION['authentification'] = 'ok';
(comme ça tu peux vérifier en haut de chaque page si la personne est connecté)
Si c'est pas bon, rediriges (avec header) vers index.php.
Tu mets un code avec GET pour envoyer les message d'erreur. Donc tu peux p.ex structurer tes header comme suit :

Au cas d'erreur p.ex :
header("Location:index.php?login=erreur")
Ensuite sur index.php tu recup avec un GET, et tu affiches un message (d'erreur ou de réussite de connexion)

J'espère que j'ai rien oublié, normalement je ferais comme ça. Tu est sur la bonne voie, modifie ton code et on regardera si ça ne marche toujours pas 8-)

Eléphanteau du PHP | 48 Messages

17 juil. 2007, 19:15

si

Code : Tout sélectionner

!empty($_POST['login']) && !empty($_POST['pass'])
alors

Code : Tout sélectionner

isset($_POST)
est-il utile d'ecrire

Code : Tout sélectionner

if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
le verif est-elle vraiement necessaire ?
-- fight the void --

ViPHP
ViPHP | 5924 Messages

17 juil. 2007, 19:50

isset($_POST) est idiot en lui même, $_POST est toujours défini, même lorsqu'il est vide.