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

PHP & Base de données Discussion :

Parse error: syntax error


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut Parse error: syntax error
    Bonoire 'il vous plait ou ai l'erreur dans se code?
    je recoi une notice qui dite:

    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp64\www\noukat\admincp\includes\controle.php on line 4
    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
    include("config.php");
    if(isset($_SESSION['admin_name']) && isset($_SESSION['admin_password']) == true){
      $sel_sql = "SELECT * FROM user_admin WHERE admin_name=$_SESSION['admin_name'] AND admin_password =$_SESSION['admin_password']";
      if($run_sql = mysqli_query($mysqli, $sel_sql)){
        while($donnees = mysqli_fetch_assoc($run_sql)){
          $id = $donnees['id'];
          $name = $donnees['admin_name'];
          $lastename = $donnees['admin_lastename'];
          $email = $donnees['admin_email'];
          if(mysqli_num_rows($run_sql) == 1 ){
            if($donnees['admin_name'] == $_SESSION['admin_name']){
              header('Location:index.php');
     
            } else {
     
            }
          } else{
            header('Location:login.php');
          }
        }
      }
    } else {
      header('Location:login.php');
    }
     
        if ( isset($_SESSION['time']) ) // Test: Si il existe une session
        {
            $tempsMaxSession = 5;
    // le temps maximal que dure la session en seconde
     
        if( ($_SESSION['time'] + $tempsMaxSession) >= time() )
    // Si la action sur la session date de moins de $tempsMaxSession
            $_SESSION['time'] = time();            // Session reactialisé
        else                                                    // Sinon
                session_destroy();                              // Session detruite
     
         }
    merci

  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
    Par défaut
    On n'encadre pas les nom des index de tableau à l'intérieur d'une chaine à double guillemets.
    Et il manque les double guillemets pour tes valeurs SQL par contre.
    Le plus clair pour moi c'est de sortir les valeurs de la chaine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sel_sql = 'SELECT * FROM user_admin WHERE admin_name="' . $_SESSION['admin_name'] . '" AND admin_password ="' . $_SESSION['admin_password'] .'"';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut
    Merci pour votre reponse
    malheureusement sa aussi ne marche pas ( deja essayer )
    je me retrouve rediriger ver la login page et j'essaye de me reconnecter mais sans success
    et aussi le AND n'ai plus détecter il devient un string
    screenshot: http://prntscr.com/gbru7c

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

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
     $sel_sql = "SELECT * FROM user_admin WHERE admin_name = '" . $_SESSION['admin_name'] . "' AND admin_password = '" . $_SESSION['admin_password'] . "'";

  5. #5
    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
    Par défaut
    malheureusement sa aussi ne marche pas ( deja essayer )
    Ce qu'on voit sur ta capture d'écran ce n'est pas ce que je t'ai proposé.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ce qu'on voit sur ta capture d'écran ce n'est pas ce que je t'ai proposé.
    c'est le meme j'ai fait du copier coller

  7. #7
    Membre émérite Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 541
    Par défaut
    Salut,
    Il y a tout de même une différence entre le code de Sabotage et celui sur votre capture

  8. #8
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut
    quand je fait comme ca le code marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $sel_sql = "SELECT * FROM user_admin WHERE admin_name = '.$_SESSION['admin_name'].' AND admin_password = '.$_SESSION['admin_password'].'";
    mais j'ais une erreur la index de l'admin qui dite
    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp64\www\noukat\admincp\includes\controle.php on line 4
    Edite: le code aux debut viens du fichier controle.php

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut
    Citation Envoyé par Willy_k Voir le message
    Salut,
    Il y a tout de même une différence entre le code de Sabotage et celui sur votre capture
    Salut Willy_k
    J'ai parcouru le code sans rien trouver ( j'utilise une application chrome pour highlight le code sur le navigateur )je crois que ca viens de la :!!!!

  10. #10
    Membre émérite Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 541
    Par défaut
    On peut aussi utiliser les accolades
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $sel_sql = "SELECT * FROM user_admin WHERE admin_name = '{$_SESSION['admin_name']}' AND admin_password = '{$_SESSION['admin_password']}'";
    ou avec sprintf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     $sel_sql = sprintf(
        "SELECT * FROM user_admin WHERE admin_name = '%s' AND admin_password = '%s'",
        $_SESSION['admin_name'],
        $_SESSION['admin_password']
    );
    .

    Faudrait protéger tes variables avec mysqli_real_escape_string.

    ou mieux utiliser une requête préparée.

    SELECT * est généralement à éviter, faudrait lister les colonnes dans ton SELECT

  11. #11
    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
    Par défaut
    J'ai parcouru le code sans rien trouver
    moi j'ai écris . "' ANDet dans ta capture on a . '' ANDdonc je ne vois pas comment ça peut être un copier/coller.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut
    c'est impossible que auccun de vos soultion na marcher il y a une erreur quelque part dasn les uatres fichier
    voila les code de chque fichier

    fichier controle.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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php
    include("config.php");
    if(isset($_SESSION['admin_name']) && isset($_SESSION['admin_password']) == true){
      $sel_sql = "SELECT * FROM user_admin WHERE admin_name = '{$_SESSION['admin_name']}' AND admin_password = '{$_SESSION['admin_password']}'";
     
     
      if($run_sql = mysqli_query($mysqli, $sel_sql)){
        while($donnees = mysqli_fetch_assoc($run_sql)){
          $id = $donnees['id'];
          $name = $donnees['admin_name'];
          $lastename = $donnees['admin_lastename'];
          $email = $donnees['admin_email'];
          if(mysqli_num_rows($run_sql) == 1 ){
            if($donnees['admin_name'] == $_SESSION['admin_name']){
              header('Location:index.php');
     
            } else {
     
            }
          } else{
            header('Location:login.php');
          }
        }
      }
    } else {
      header('Location:login.php');
    }
     
        if ( isset($_SESSION['time']) ) // Test: Si il existe une session
        {
            $tempsMaxSession = 5;
    // le temps maximal que dure la session en seconde
     
        if( ($_SESSION['time'] + $tempsMaxSession) >= time() )
    // Si la action sur la session date de moins de $tempsMaxSession
            $_SESSION['time'] = time();            // Session reactialisé
        else                                                    // Sinon
                session_destroy();                              // Session detruite
     
         }
     
     ?>
    fichier 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
    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
    <?php session_start();
    	include("includes/config.php"); //Establishing connection with our database
     
    	$error = ""; //Variable for storing our errors.
    	if(isset($_POST["but_submit"]))
    	{
    		if(empty($_POST["txt_uname"]) || empty($_POST["txt_pwd"]))
    		{
    			$error = "Both fields are required.";
    		}else
    		{
    			// Define $username and $password
    			$username=$_POST['txt_uname'];
    			$password=$_POST['txt_pwd'];
     
    			// To protect from MySQL injection
    			$username = stripslashes($username);
    			$password = stripslashes($password);
    			$username = mysqli_real_escape_string($mysqli, $username);
    			$password = mysqli_real_escape_string($mysqli, $password);
    			$cpassword = md5($password);
     
    			//Check username and password from database
    			$sql = "SELECT * FROM user_admin WHERE admin_name = '$username' and admin_password = '$cpassword'";
    			$result = mysqli_query($mysqli,$sql);
    			$row = mysqli_fetch_array($result);
    			/*if (!$row ) {
    			    printf("Error: %s\n", mysqli_error($mysqli));
    			    exit();
    			}*/
    			//If username and password exist in our database then create a session.
    			//Otherwise echo error.
     
    			if(mysqli_num_rows($result) == 1)
    			{
    				$_SESSION['admin_name'] = $username; // Initializing Session
    				header("location: index.php"); // Redirecting To Other Page
    			}else
    			{
    				$error = '<div class="alert alert-danger">خطأ: إسم المستخدم أو كلمة المرور غير صحيحة</div>' .mysqli_error($mysqli).'';
    			}
    			/*if (!$_SESSION['username']) {
    			    printf("Error: %s\n", mysqli_error($mysqli));
    			    exit();
    			}*/
     
    		}
    	}
     
    ?>
    fichier check.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    require("config.php");
    include("controle.php");
    $user_check = $_SESSION['admin_name'];
    $ses_sql = "SELECT admin_name FROM user_admin WHERE admin_name='$user_check' ";
    $row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);
    $login_user =$row['admin_name'];
    if(!isset($user_check))
    {
    header("Location: ../login.php");
    }

  13. #13
    Membre émérite Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 541
    Par défaut
    Qu'est-ce qui ne marche pas ? Les codes en eux-même sont assez confus et on met pas un mot de passe en session.

  14. #14
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut
    Citation Envoyé par Willy_k Voir le message
    Qu'est-ce qui ne marche pas ? Les codes en eux-même sont assez confus et on met pas un mot de passe en session.
    la le probleme et le suivant
    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp64\www\noukat\admincp\includes\controle.php on line 4

  15. #15
    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
    Par défaut
    Le code controle.php que tu viens de nous montrer est bon syntaxiquement contrairement au code d'origine.
    Donc à mon avis tu n'as pas la version corrigée en ligne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Le code controle.php que tu viens de nous montrer est bon syntaxiquement contrairement au code d'origine.
    Donc à mon avis tu n'as pas la version corrigée en ligne.
    si je travaille en locale la sa marche mais je suie sur l'erreur suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ( ! ) Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp64\www\noukat\admincp\includes\controle.php on line 4
    (un grand merci pour votre aide et soutien les mec )

  17. #17
    Membre émérite Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 541
    Par défaut
    C'est à se demander si les solutions apportées ici sont appliquées. Il n y a pas de problème de syntaxe dans le fichier en question, en tout cas celui présenté ici

  18. #18
    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
    Par défaut
    si je travaille en locale la sa marche
    Qu'est ce qui marche et où ?
    Qu'est ce qui ne marche pas et où ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  19. #19
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 10
    Par défaut
    Oui bien sur j'ais appliquer vos solution mais je ne parvien pas a me connecter avec
    mais quand je modifie le code de cette facone

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sel_sql = "SELECT * FROM user_admin WHERE admin_name = $_SESSION['admin_name']";
    je me connecte a l'admin mais une fos sur admincp/index.php
    je me retrouve avec une page blanche et une erreur syntaxe qui dite

    ( ! ) Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\wamp64\www\noukat\admincp\includes\controle.php on line 4
    voila une capteur d’écran: http://prntscr.com/gbt9fk

    j'ai bon chercher la solution mais je trouve pas pourtant j'ai utilise la meme structure du code dans un autre scripte du meme sujet et ca marcher

    capteur du code du premier scripte: http://prntscr.com/gbt9wb

  20. #20
    Membre émérite Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 541
    Par défaut
    On voit dans la capture qu'aucune solution que nous avons donné ici a été appliquée.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/06/2007, 23h49
  2. Réponses: 4
    Dernier message: 16/10/2006, 15h16
  3. [PHP-JS] Parse error: syntax error, unexpected T_STRIN
    Par maldini dans le forum Langage
    Réponses: 4
    Dernier message: 25/07/2006, 18h49
  4. Parse error: syntax error, unexpected '}' help
    Par beur dans le forum Langage
    Réponses: 5
    Dernier message: 23/03/2006, 21h33
  5. [Configuration] Problème après l'installation (Parse error: syntax error,..)
    Par beur dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 21/03/2006, 14h08

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