Parse error: syntax error [Résolu/Fermé]

Signaler
Messages postés
48
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
14 mai 2016
-
Messages postés
29833
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 octobre 2020
-
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

Messages postés
21123
Date d'inscription
mardi 27 juin 2006
Statut
Contributeur sécurité
Dernière intervention
22 juin 2016
1 290
Et ton formulaire stp ?
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
48
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
14 mai 2016

  <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>

Messages postés
29833
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 octobre 2020
2 873
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
48
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
14 mai 2016


<?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>

Messages postés
29833
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 octobre 2020
2 873 >
Messages postés
48
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
14 mai 2016

Tout ce code est dans le même fichier ?
Il n'y a pas de code supplémentaire ?
Messages postés
48
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
14 mai 2016
>
Messages postés
29833
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 octobre 2020

il y'as le fichier functions.php / login et d'autre fichier index et tous
j'ai vu un cours sur udemy il fait comme sa sans session_start() et sa marché
Messages postés
29833
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 octobre 2020
2 873 >
Messages postés
48
Date d'inscription
jeudi 6 septembre 2012
Statut
Membre
Dernière intervention
14 mai 2016

Vu que tu utilises les variables de Session. ... tu dois avoir un session_start !!
Messages postés
29833
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
23 octobre 2020
2 873
Ou est le session_start () ?