Bonjour, j'ai un petit souci de redirection (fin de la vidéo), après mon Log (ma connection)
je reste sur ma page login.php qui reste toute blanche, pareil pour logout.
j'utilise mamp ( sous domaine à la place de portfolio ( c'est studio)
http://localhost:8888/studio/login.php#
http://localhost:8888/studio/lib/auth.php#

Si quelqu'un sait m'aider!!

merci d'avance!

/**
* login.php
**/
<?php
$auth= 0; 
include 'lib/includes.php'; 

/**
* TRAITEMENT DU FORMULAIRE
**/
if(isset($_POST'username']) && isset($_POST'password'])){
        $username = $db->quote($_POST'username']);
        $password = sha1($_POST'password']);
        $select = $db->query("SELECT * FROM users WHERE username=$username AND password='$password'");

            if($select->rowCount() > 0){
                $_SESSION'Auth'] = $select->fetch();
                setFlash('connected');
                header('Location:' . WEBROOT . 'admin/index.php');
                die();
            }
}
/**
* INCLUSION DU HEADER
**/
include 'partials/header.php';
?>
<form action="#" method="post">
         <div class="form-group">
                <label for="username"> user </label>
                <?php echo input('username'); ?>
         </div>
         <div class="form-group">
                <label for="password"> password </label>
                <input type="password" class="form-control" id="password" name="password">
         </div>
         <button type="submit" class="btn btn-default"> connect </button>
</form>
<?php include 'lib/debug.php' ; ?>
<?php include 'partials/footer.php' ; ?>
/**
* auth.php
**/
<?php
session_start();
if(!isset($auth)){
    if (!isset($_SESSION'Auth']'id'])){
            header('location:' . WEBROOT . 'login.php');
            die();
  }
}
/**
* form.php
**/
<?php
function input($id){
    $value = isset($_POST$id]) ? $_POST$id] : '';
    return "<input type='text' class='form-control' id='$id' name='$id' value='$value'>";
}
/**
* constants.php
**/
<?php
define('WEBROOT', dirname($_SERVER'SCRIPT_NAME']) . '/');

/**
* includes.php
**/
<?php 
include 'constants.php';
include 'db.php';
include 'form.php';
// Session_start();
include 'auth.php';
include 'session.php';
?> 
/**
* logout.php
**/
<?php $auth = 0; 
include ('lib/includes.php');
$_SESSION = array();
header('Location:' . WEBROOT . 'index.php');
/**
* session.php
**/
<?php 
function flash(){
    if (isset($_SESSION'Flash'])) {
            extract($_SESSION'Flash']);
            unset($_SESSION'Flash']);
            return "<div class='alert alert-$type'>$message</div>";
    }
}
function setflash($message, $type = 'success'){
    $_SESSION'Flash']'message'] = $message;
    $_SESSION'Flash']'type'] = $type;
}

6 réponses


Je pense que t'as mis un point d’exclamation de plus au niveau de ton fichier auth.php
Essaies de l'enlever de ton premier test

if(isset($auth))
faddo
Auteur

Je vien de tester mais ça ne change rien! merci quand même! j ai suivi à la lettre le tuto

au niveau de ton code login.php, tu as mis

type="submint"

au lieu de

type="submit"

Essaies de la corriger.

faddo
Auteur

Bien vu merci! mais pas de redirection ! ^^

j'ai oublié la db.php

/**
* db.php
**/
<?php
try{
$db = new PDO ('mysql:host=localhost;dbname=studio','root','root');
$db ->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$db ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
} catch (PDOException $e){
    echo 'no connection';
    echo $e->getMessage();
    die();
}
faddo
Auteur

Quelqu'un sait m'aider?? je n arrive toujours pas a résoudre le problème? merci

faddo
Auteur

J'ai réussi!(je ne sais pas comment ^^)
en changeant de navigateur tout simplement!
sur chrome j'ai la redirection mais pas via mozilla!
si ça peut aidé quelqu'un!
;-)