Parse error: syntax error

Résolu
medboy94 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai un message d'erreur .
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp2\www\ecom\resources\functions.php on line 218

function login_user(){
if(isset($_POST['submit'])){      /* la ligne 218 */
$username = escape_string($_POST['username']);
        
$password = escape_string($_POST['password']);
        
        $query = query("SELECT * FROM users WHERE username= '{$username}' AND password='{$password}' ");
        confirm($query);
        
        
   if(mysqli_num_rows($query) == 0) {
       set_message(" Your password or username are wrong ");
       redirect("login.php");
   }else{
      
       redirect("admin/index.php");
        

        }
   }
        
    }
    





2 réponses

Regis59 Messages postés 21143 Date d'inscription   Statut Contributeur sécurité Dernière intervention   1 322
 
Et ton formulaire stp ?
1
medboy94 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
  <form class="" action="" method="post" enctype="multipart/form-data"> 
                        <?php    login_user(); ?>
                                                 
                            <div class="form-groupe"><label for="">
                                username<input type="text" name="username" class="form-control">
                                </div>
                          <div class="form-groupe"><label for="password">
                                password<input type="text" name="password" class="form-control">
                                </div>
                          <div class="form-groupe">
                                <input type="submit" name="submit" class="btn btn-primary">
                                </div>
                          </form>

0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
Bonjour,

1 - Nous ne savons rien des differentes fonctions que tu utilises.
Par exemple... d'où sors tu la fonction escape_string ? Que contient-elle ?

2 - Tu ne nous dis pas à quelle ligne de code correspond ton message d'erreur.

3 - Tu utilises des variables POST dans ta fonction....hummm.... à éviter !
Déjà .. commences par récupérer "proprement" tes variables AVANT de les utiliser.... et passes les en paramètre de ta fonction...ça sera mieux.


dans le début de ta page :
//Récupération "propre" des variables
$username = !empty($_POST['username']) ? $_POST['username'] : NULL;
$password = !empty($_POST['password']) ? $_POST['password'] : NULL;


le code de ta fonction :
function login_user($username=NULL,$password=NULL){
 if($username && $password){  // si username et password sont remplis  
   $query = query("SELECT * FROM users WHERE username= '$username' AND password='$password' ");
   confirm($query);
       
   if(mysqli_num_rows($query) == 0) {
     set_message(" Your password or username are wrong ");
     redirect("login.php");
   }else{      
     redirect("admin/index.php");
   }
 }
}


Et bien entendu... là où tu appelles ta fonction tu devras ajouter les paramètres
 login_user($username,$password);


1
medboy94 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
Bnsr merci pour votre reponse voici les fonctions


function redirect($location){
header("Location : $location");


}


function query($sql){
global $connection ;
return mysqli_query($connection, $sql);
}



function confirm($result){
global $connection;
if(!$result){
die("QUERY FAILED " . mysqli_error($connection));
} }



function escape_string($string){
global $connection ;
return mysqli_real_escape_string($connection, $string);
}



la ligne d'erreur c'est
if(isset($_POST['submit'])){ 
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
Et bien.... suis mes indications concernant la modification de ton code ... et reviens nous voir avec le code COMPLET .... SI le souci persiste
0
medboy94 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
IL s'execute sans erreur mais il m'affiiche pas le msg quand je trompe de mot de passe et il me redirect pas quand j'ecris le bon mot de passe . mercii
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753 > medboy94 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 
....et... ton code... il ressemble à quoi maintenant ???
0
medboy94 Messages postés 44 Date d'inscription   Statut Membre Dernière intervention  
 

<?php
//Récupération "propre" des variables
$username = !empty($_POST['username']) ? $_POST['username'] : NULL;
$password = !empty($_POST['password']) ? $_POST['password'] : NULL;
// helper function

function set_message($msg){
    if (!empty($msg)){
        
        $_SESSION['message'] = $msg;
    } else {
        
        $msg ="";
        }
        }

function display_message(){
    if (isset($_SESSION['message'])){
        
        echo $_SESSION['message'];
        unset ($_SESSION['message']);
    }
    
    
    
}

function redirect($location){  
    header("Location : $location");
    
    
}


function query($sql){
    global $connection ;
    return mysqli_query($connection, $sql);
}



function confirm($result){
    global $connection;
    if(!$result){
die("QUERY FAILED " . mysqli_error($connection));
    } }



function escape_string($string){   
    global $connection ;
return mysqli_real_escape_string($connection, $string);
    } 
function login_user($username=NULL,$password=NULL){
 if($username && $password){  // si username et password sont remplis  
   $query = query("SELECT * FROM users WHERE username= '$username' AND password='$password' ");
   confirm($query);
       
   if(mysqli_num_rows($query) == 0) {
     set_message(" Your password or username are wrong ");
     redirect("login.php");
   }else{      
     redirect("admin/index.php");
   }
 }
}







<!-- Login Form Section Starts -->
		<section class="login-area">
			<div class="row">
				<div class="col-sm-6">
				<!-- Login Panel Starts -->
					<div class="panel panel-smart">
						<div class="panel-heading">
							<h3 class="panel-title">Login</h3>
                            <h3><?php    display_message();  ?></h3>
						</div>
						<div class="panel-body">
							<p>
								Please login using your existing account
							</p>
						<!-- Login Form Starts -->
							
                            <form class="" action="" method="post" enctype="multipart/form-data"> 
                        <?php     login_user($username,$password); ?>
                                                 
                            <div class="form-groupe"><label for="">
                                username<input type="text" name="username" class="form-control">
                                </div>
                          <div class="form-groupe"><label for="password">
                                password<input type="text" name="password" class="form-control">
                                </div>
                          <div class="form-groupe">
                                <input type="submit" name="submit" class="btn btn-primary">
                                </div>
                          </form>
						<!-- Login Form Ends -->
						</div>
					</div>
				<!-- Login Panel Ends -->
				</div>

0