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 :

Redirection des liens


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Février 2015
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 78
    Points : 59
    Points
    59
    Par défaut Redirection des liens
    Bonjour à tous,
    Apres avoir heuberger mon site web j'ai recontré un petit souci avec mes liens :
    la redirection des pages avec le HEADER( LOCATION ) affiche une pages blanche.
    voici par exemple un morceau de ma page login qui mène à la page index de l'utilisateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     }
                 else  if( $_SESSION['Auth']['role'] == 'user'){
                     $_SESSION['flash']['success']="Connecté";
                      $_SESSION['infor']['info']=("Bienvenue $username sur votre espace de travail");
     
                       header('Location:' .WEBROOT. 'users/index');
                     die();
    Alors qu'en Localhost tout marche parfaitement mais en ligne ca conduit à une page blanche.
    Votre aide SVP

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- teste le lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                   //    header('Location:' .WEBROOT. 'users/index');
                   echo 'Location:' .WEBROOT. 'users/index';
    C'est bon ou pas ?

    2- ce n'est pas die(); mais exit; !

    3- Avant un header, il ne doit pas y avoir de code HTML envoyé (ni espace, ni passage à la ligne).
    Vérifie les fichiers :
    • avant le 1er <?php
    • après le dernier ?>

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Février 2015
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    Merci pour votre réaction soudaine jreaux62, le teste Echo affiche bien Location:/users/index
    Veuillez trouver l'intégralité de ma page login après encore quelques retouches
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
    <?php 
    $auth =0 ;
     include"lib/includes.php" ;
    if(!empty($_POST) && !empty($_POST['username']) && !empty($_POST['password'])){
    	$username = $_POST['username'];
    	$req = $db->prepare("SELECT * from users WHERE (username  = :username OR email = :username) AND confirm_at IS NOT NULL ");
    	$req->execute(['username' => $_POST['username']]);
    	$user = $req->fetch(); 
    	if(password_verify($_POST['password'],$user['password'])){
    		$_SESSION['Auth']= $user;
    		$user_id = $_SESSION['Auth']['id']; 
    		if($_POST['remember']){
    		$remember_token = str_random(250);
    		$req = $db->prepare("UPDATE users SET remember_token = ? WHERE id = ?");
    		$req->execute([$remember_token, $user['id']]);
    		setcookie('remember', $user['id']. '==' . $remember_token . sha1($user['id'] .'ratonlaveurs'), time() + 60 + 60 + 24 + 7);
    		}   
              if( $_SESSION['Auth']['role'] == 'mnjacques'){
    				$_SESSION['flash']['success']="Connecté";
    				 header('Location:/admin/index');
    				 exit; 
    			 }
    			 else  if( $_SESSION['Auth']['role'] == 'user'){
    				 $_SESSION['flash']['success']="Connecté";
    				  $_SESSION['infor']['info']="Bienvenue $username sur votre espace de travail";
    				 //header('Location:/users/index');	
    				 echo 'Location:/users/index';		
    				 exit;
    			 }
    			 else{
    				 $_SESSION['flash']['danger']="Mot de passe ou nom d'utilisateur incorrecte";
    				  header('Location:login');
    				 exit;  
    			 }
     
    	}else{
    		$_SESSION['flash']['danger']="Identifiant ou mot de passe incorrect";
    		setFlash('mot de passe ou nom d utilisateur incorrecte');
    	}
     
    }
    else{
    		$_SESSION['flash']['danger']="Un champ est vide";
    	}
    $categories = $db->query("SELECT slug, name FROM categories")->fetchAll();
    include"partials/header.php"
     
    ?>
    <form action="#" method="post">
           <fieldset class="form_contents">
    				  <?php if(isset($_SESSION['flash'])):?>
    							<?php  foreach ($_SESSION['flash'] as $type => $message):?>
    								<div id ="alert" class="alert alert-<?= $type; ?>">
    									<button type = "button" id="close" class = "close" onclick="this.parentElement.style.display='none';">
    									&times;
    									</button>
    									<?= $message; ?>
    								</div>
    							<?php  endforeach; ?>
    								<?php unset($_SESSION['flash']);?>
    						<?php endif;?>
     
     
                         <div class="tableauform">
                           <div class="panel-heading">
                                    <h1><span class="icon-user"></span>Identifiez-vous</h1>
                                </div>
                                <div class="panel-body">
                                    <p class="signin-text">Vous êtes déjà inscrit? Veuillez vous identifier</p>
     
                                    <div class="col-xs-12 col-sm-6 signin-left">
                                        <div class="form-group">
                                            <span class="input-hold">
                                                <input name="username" class="formcontrol" placeholder="Nom d'utilisateur ou e-mail"  >
                                            </span>
                                        </div>
                                        <div class="form-group">
                                            <span class="input-hold">
                                                <input name="password" class="formcontrol" placeholder="Mot de passe"  type="password" maxlength="255" autocomplete="off">
     
                                            </span>
                                        </div>
    									<div class="form-group">
    									  <label><input name="remember" class="" type="checkbox" value="1"/> Se souvenir de moi</label></br>
    									  <a href="users/pass_remember"  class="signin-switch">Mot de passe oublié?</a>
    									 </div>
     
                                        <button type="submit" class="formbutton"  tabindex="3">Connexion</button>
     
    						      </div>
     
    							<!--div class="clearfix"> </div-->
                                    <a href="" class="signin-switch">Nouvel utilisateur? Inscrivez-vous!</a>
                                </div>
                            </div>
                        </fieldset> 
    </form>

    Et voici celle de inclusions.php inclus juste en haut de la page:
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    <?php
    include"db.php" ;
    include"form.php"; 
    include"auth.php";
    include"session.php" ;
    function Speciauxcarct($chaine) {
    			$utf8 = array(
    			'/[áàâãªä]/u' => 'a',
    			'/[ÁÀÂÃÄ]/u' => 'A',
    			'/[ÍÌÎÏ]/u' => 'I',
    			'/[íìîï]/u' => 'i',
    			'/[éèêë]/u' => 'e',
    			'/[ÉÈÊË]/u' => 'E',
    			'/[óòôõºö]/u' => 'o',
    			'/[ÓÒÔÕÖ]/u' => 'O',
    			'/[úùûü]/u' => 'u',
    			'/[ÚÙÛÜ]/u' => 'U',
    			'/ç/' => 'c',
    			'/Ç/' => 'C',
    			'/ñ/' => 'n',
    			'/Ñ/' => 'N',
    			'/–/' => '-', // conversion d'un tiret UTF-8 en un tiret simple
    			'/[‘’‚‹›]/u' => ' ', // guillemet simple
    			'/[“”«»„]/u' => ' ', // guillemet double
    			'/ /' => ' ', // espace insécable (équiv. à 0x160)
    			);
    			return preg_replace(array_keys($utf8), array_values($utf8),  $chaine);
    	}
     
    	function dequote($chaine) {
    			$utf8 = array(
    			'/[‘’‚‹›]/u' => ' ', // guillemet simple
    			'/[“”«»„]/u' => ' ', // guillemet double
     
    			);
    			return preg_replace(array_keys($utf8), array_values($utf8),  $chaine);
    	}
     
    	function nettoyerChaine($chaine) {
    			$chaine = strtolower($chaine); // on passe la chaine de caractère en minuscule
    			return	$chaine = str_replace(' ', '-', $chaine); // on remplace les espaces par des tirets
    	}
     
     
    	function slugify($text){
        // replace non letter or digits by -
        $text = preg_replace('~[^\\pL\d]+~u', '-', $text);
        // trim
        $text = trim($text, '-');
        // transliterate
        if (function_exists('iconv'))
        {
            $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
        }
        // lowercase
        $text = strtolower($text);
        // remove unwanted characters
        $text = preg_replace('~[^-\w]+~', '', $text);
        if (empty($text))
        {
            return 'n-a';
        }
        return $text;
    }
     
    function str_random($length){
       $aphabet = "0123456789azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN";
     return substr(str_shuffle(str_repeat($aphabet, $length)),0,$length);
    }
     
     
    function reconnect_from_coockie(){
    	include"db.php" ;
    	if(isset($_COOKIE['remember']) && !isset($_SESSION['Auth'])){
    		$remember_token = $_COOKIE['remember'];
    		//var_dump($remember_token); die();
    		$parts = explode('==', $remember_token);
    		$user_id = $parts[0];
    		$req = $db->prepare("SELECT * from users WHERE id = ? ");
    	    $req->execute([$user_id]);
    	   $user = $req->fetch(); 
    	   if($user){
    		$expected = $user_id . '==' . $user[$remember_token] . sha1($user_id .'ratonlaveurs');
    	      if($expected = $remember_token){
    			  $_SESSION['Auth']= $user;
    			  setcookie('remember', $remember_token, time() + 60 + 60 + 24 + 7);
     
    			   if( $_SESSION['Auth']['role'] == 'mnjim'){
    				 $_SESSION['flash']['success']="Vous etes bien connecté";
     
    			 }
    			  else  if( $_SESSION['Auth']['role'] == 'user'){
    				 $_SESSION['flash']['success']="Vous etes bien connecté";
    			}
     
    		  }
    		  else{
    			setcookie('remember', NULL, -1);
    		      }
    	   }
    	 else{
    		setcookie('remember', NULL, -1);
    		}
    	}	
     
    }
     
    ?>

  4. #4
    Membre du Club
    Homme Profil pro
    Consultant E-Business
    Inscrit en
    Février 2015
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Consultant E-Business
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 78
    Points : 59
    Points
    59
    Par défaut
    Merci bcp jreaux62, il y avait du code HTML avant le header comme tu l'as dis ca marche maintenant Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/08/2015, 12h26
  2. [vBulletin] Redirection des liens 'user profile'
    Par eiijah dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 07/09/2012, 19h01
  3. Redirection automatique des liens d'un site internet !
    Par jack_42 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 17/11/2011, 23h56

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