IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Cannot find "http://localhost/PHP-TESTS/login.php"


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 252
    Points : 85
    Points
    85
    Par défaut Cannot find "http://localhost/PHP-TESTS/login.php"
    Bonjour a tous,
    je souhaiterais valider les informations d'un utilsateur qui se connecte avec son adresse email et son mot de passe. Et pour cela j'ai une page login.php et loggedin.php.
    si l'utilisateur est connecte, alors login.php me redirige vers loggedin.php (qui signale a l'utilisateur qu'il est bien connecte). Si un utilisateur accede a la page loggedin.php par erreur alors il est redirige vers la page index1.php (page d'accueil).

    pour cela , j'ecris les deux fichiers a inclure suivants:

    pour l'affichage du formulaire et des erreurs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    $page_title='Login';
    include('includes/header.html');
    if (!empty($errors)) {
    	echo '<h1> Error !</h1>
    	<p class = "error"> The following error(s) occured : <br />';
    	foreach ($errors as $msg) {
    		echo " - $msg <br /> \n";
    	}
    	echo '</p><p> Please try again. </p>';
    }
    ?>
    <h1>Login</h1>
    <form action="login.php" method="post">
    	<p>Email Address: <input type="text" name="email" size="20" maxlength="80" value="<?php if (isset($_POST['email'])) echo $_POST['email']; ?>"  /> </p>
    	<p>Password: <input type="password" name="pass" size="10" maxlength="20" /></p>
    	<p><input type="submit" name="submit" value="Login" /></p>
    	<input type="hidden" name="submitted" value="TRUE" />
    </form>
    <?php
    include ('includes/footer.html');
    ?>
    le seond fichier a inclure est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    function absolute_url($page='index1.php'){
    	$url='http://' .$_SERVER['HTTP_POST'] .	
    	dirname($_SERVER['PHP_SELF']);
    	$url=rtrim($url, '/\\');
    	$url .= '/' . $page;
    	return $url;
    }
    function check_login($dbc, $email='', $pass=''){
    	$errors=array();
    	if (empty($email)){
    		$errors[]='You forgot to enter your email address.';
    	} else {
    		$e= mysqli_real_escape_string($dbc,trim ($email));
    	}
    	if (empty ($pass)){
    		$errors[]= 'Your forgot to enter your password.';
    	}
    	else {
    		$p=mysqli_real_escape_string($dbc, trim ($pass));
    	}
     
    	if (empty($errors)){
    		$q="SELECT user_id, first_name FROM users WHERE email='$e' AND pass=SHA1('$p')";
    		$r=@mysqli_query($dbc, $q);
     
    		if (mysqli_num_rows($r) == 1){
    			$row=mysqli_fetch_array($r, MYSQLI_ASSOC);
    			return array(true, $row);
     
    		} else {
    			$errors[]='The email address and password entered do not match those on file.';
    		}
    	}
    	return array(false, $errors);
    }
    ?>
    Ensuite j'ai ma page login.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php
    if (isset($_POST['submitted'])){
    	require_once('includes/login_functions.inc.php');
    	require_once('../PHP-TESTS/mysqli_connect.php');
    	list($check, $data)=check_login($dbc, $_POST['email'], $_POST['pass']);
    	if ($check){
    		setcookie('user_id', $date['user_id']);
    		setcookie('first_name', $date['first_name']);
    		$url=absolute_url('loggedin.php');
    		header("Location: $url");
    	exit();
    	} else {
    		$errors=$data;
    	}
    	mysqli_close($dbc);
    }
    include ('includes/login_page.inc.php');
    ?>
    et la page loggedin.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    if (!isset($_COOKIE['user_id'])){
    	require_once('includes/login_functions.inc.php');
    	$url=absolute_url();
    	header("Location: $url");
    	exit();
    	}
    $page_title='Logged In!';
    include('includes/header.html');
    echo "<h1>Logged In!</h1>
    <p>You are now logged in, {$_COOKIE['first_name']}!</p>
    <p><a href=\"logout.php\">Logout</a></p>";
    include ('includes/footer.html');
    ?>
    Dans mon navigateur, je saisie l'adresse email et le mot de passe d'un utilisateur. une fois que je clique sur login j'ai l'erreur suivante:

    Cannot find "http://localhost/PHP-TESTS/login.php"
    DNS Error - Server cannot be found
    Qu'est ce qui s'est passe?

    Merci.

    Billyrose

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et si vous accédez directement àl'adresse http://localhost/PHP-TESTS/login.php cela donne quoi ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 252
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Et si vous accédez directement àl'adresse http://localhost/PHP-TESTS/login.php cela donne quoi ?
    quand j'accede directement a la page, elle s'affiche comme je le voulais. mais une fois que je saisis l'email d'un user et son mot de passe et que je valide au lieu d'etre redirigee sur http://localhost/PHP-TESTS/loggedin.php
    j'obtiens ceci:

    Cannot find "http://localhost/PHP-TESTS/login.php"
    DNS Error - Server cannot be found
    merci
    Billyrose

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/03/2015, 16h43
  2. [2.x] probleme http://localhost/Symfony/web/app_dev.php
    Par montis dans le forum Symfony
    Réponses: 1
    Dernier message: 13/02/2012, 10h08
  3. [2008] Cannot connect to http://localhost/olap/msmdpump.dll
    Par siham-gh dans le forum SSAS
    Réponses: 1
    Dernier message: 13/04/2011, 09h51
  4. PB Tomcat http:\localhost:8080\ pas cannot find server
    Par megapacman dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 26/02/2008, 14h58
  5. [Tomcat 4.1][Struts] Cannot find global ActionForward....
    Par otminou dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 13/09/2004, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo