PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Parse error: syntax error, unexpected '$req' (T_VARIABLE) in » 16-04-2017 21:32:36

tof73 a écrit :

$sql = "SELECT * FROM eleve, document  where eleve.num = document.numeleve";

j'avais copié/collé le premier code et je n'avais eu de "Parse error".


Notice: Undefined index: num in /home/vsftpd/projetstmg4sig_fspq/projetstmg4sig_fspq/page2.php on line 29
Notice: Use of undefined constant mysql_fetch_array - assumed 'mysql_fetch_array' in /home/vsftpd/projetstmg4sig_fspq/projetstmg4sig_fspq/page2.php on line 88

Warning: Illegal string offset 'date' in /home/vsftpd/projetstmg4sig_fspq/projetstmg4sig_fspq/page2.php on line 90

Warning: Illegal string offset 'nom' in /home/vsftpd/projetstmg4sig_fspq/projetstmg4sig_fspq/page2.php on line 90

Warning: Illegal string offset 'nom' in /home/vsftpd/projetstmg4sig_fspq/projetstmg4sig_fspq/page2.php on line 90
m- m


Merci de ton aide
J'ai donc remis comme c'étais.La page s'affiche maintenant mais laisse les erreurs que j'ai laissé en haut.
En attendant une réponse je vais essayer de les corriger.

#2 Re : Forum Général PHP » Parse error: syntax error, unexpected '$req' (T_VARIABLE) in » 16-04-2017 21:32:36

ViKKKing a écrit :

Salut,

SELECT * FROM `ELEVE``, document  where eleve.num = document.numeleve;

double backtick + point-virgule + jointure bizarre ^^

en plus, tu n'as pas besoin de mettre des backticks autour des champs sauf si ... (voir doc)

Conseil : toujours ajouter  en haut de tes pages en pre-prod

error_reporting(E_ALL); ini_set('display_errors', 1);

Conseil² : mysql_* est déprécié depuis longtemps ! tu devrais regarder ceci -> PHP doc mysqli_* et PHP doc Prepared Parameterized Statements pour éviter les injections SQL


Salut,
Tout d'abord je vous remercie de votre précieuse aide , pour ce qui de "mysql_" je l'utilise seulement pour mon projet de terminal sa ne sera pas un site internet utilisé e.t.c donc pas vraiment a m'inquiété niveau sécurité et j'essaye d'utilisé un maximum mes connaissances étudier en classe mais parfois cela me dépasse car nous somme vraiment limité en php et sql.

J'ai donc corrigé l'erreur et sa me donne de nouveau une autre , j'ai essayé d'enlever l'apostrophe mais sa ne change rien:

Parse error: syntax error, unexpected '`' in /home/vsftpd/projetstmg4sig_fspq/projetstmg4sig_fspq/page2.php on line 86
Voici mon site si cela peut vous aider je vous remet le code modifier en bas
Je vous remerci encore une fois de votre et du temps que vous me donner

http://projetstmg4sig.livehost.fr

<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
 $motdepasse = $_POST['Var_password'];
 $pseudo = $_POST['Var_pseudo'];
 

 

include ("_conf.php");
$connection = mysql_connect($host,$root,$mdp);
if (!$connection)
{
  die ('could not connect: ' .mysql_error());
}
else
{
  mysql_select_db($mabasededonnee,$connection);
 
  $sql = "SELECT count(*) from `ELEVE` where `pseudo`='$pseudo' AND `motdepasse` ='$motdepasse'";
  //echo "ma req SQL : ".$sql;
  $req = mysql_query ($sql);
  $data=mysql_fetch_array($req);
  if ($data[0] ==1)
  {
    $sql = "SELECT * from `ELEVE` where `pseudo`='$pseudo' AND `motdepasse` = '$motdepasse'";
    $req = mysql_query ($sql);
    $data=mysql_fetch_array($req);
      echo "Bienvenue $data[nom] $data[prenom] <br> <br>";
      $ideleve=$data['num'];
     
     
    ?>
    <form method="post" action="page2.php" enctype="multipart/form-data">
       
       <label for="mon_fichier"><u>Fichier (tous formats | max. 1 Mo) :</u></label><br />
       <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
       <input type="hidden" name="Var_password" value="<?php echo $motdepasse; ?>" />
       <input type="hidden" name="Var_pseudo" value="<?php echo $pseudo; ?>" />
       <input type="hidden" name="envoi_form" value="1" />
       <input type="file" name="mon_fichier" id="mon_fichier" /><br /><br>
       <label for="titre"><u>Titre du fichier (max. 50 caractères) :</u></label><br />
       <input type="text" name="titre" value="Titre du fichier" id="titre" /><br /><br>
       <label for="description"><u>Description de votre fichier (max. 255 caractères) :</u></label><br />
       <textarea name="description" id="description"></textarea><br />
       <input type="submit" name="submit" value="Envoyer" />      
    </form>
    <?php  
   
    if (isset($_POST['envoi_form']))
    {
      echo "On traite le formulaire";

      $dossier = 'fichiers/';
      $fichier = basename($_FILES['mon_fichier']['name']);
      if(move_uploaded_file($_FILES['mon_fichier']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
      {
        $nomfichier=$_FILES['mon_fichier']['name'];
       
        $description=$_POST['description'];
        echo 'Upload effectué avec succès ! : '.$nomfichier. "description : ".$description." - id eleve = ".$ideleve;      
       
   
        $sql = "INSERT INTO document (`nom`,`description`,`numeleve`)
        VALUE ('$nomfichier','$description','$ideleve')";
        $req = mysql_query ($sql);
       
       
           
      }
   
      else //Sinon (la fonction renvoie FALSE).
      {
            echo 'Echec de l\'upload !';
      }

 
   
    }
   
    ?>
   
   
    <hr><u> <span style="background-color:#40c0ff;" >Liste des fichiers : </span> </u><br></br>
   
    <?php
    $sql = SELECT * FROM `ELEVE``, document  where eleve.num = document.numeleve;
    $req = mysql_query ($sql);
      while ($data=mysql_fetch_array)
    {
      echo $data['date']."- <a href='fichiers/$data[nom]' target='blank'>".$data['nom']."</a><br>";
    }
  }
 
  else
  {
    echo "Problème de pseudo ou de mot de passe";
  }
}

?>

#3 Forum Général PHP » Parse error: syntax error, unexpected '$req' (T_VARIABLE) in » 16-04-2017 21:32:36

Quartz9
Réponses : 5

Bonjour/Bonsoir
J'ai l'erreur suivante sur mon projet de lycée "Parse error: syntax error, unexpected '$req' (T_VARIABLE) in /home/vsftpd/projetstmg4sig_fspq/projetstmg4sig_fspq/page2.php on line 88"
Je n'arrive pas trouver le problème , je vous remercie de votre aide précieuse

<?php
 $motdepasse = $_POST['Var_password'];
 $pseudo = $_POST['Var_pseudo'];
 
 
 
 
include ("_conf.php");
$connection = mysql_connect($host,$root,$mdp);
if (!$connection)
{
    die ('could not connect: ' .mysql_error());
}
else
{
    mysql_select_db($mabasededonnee,$connection);
     
    $sql = "SELECT count(*) from `ELEVE` where `pseudo`='$pseudo' AND `motdepasse` ='$motdepasse'";
    //echo "ma req SQL : ".$sql;
    $req = mysql_query ($sql);
    $data=mysql_fetch_array($req);
    if ($data[0] ==1)
    {
        $sql = "SELECT * from `ELEVE` where `pseudo`='$pseudo' AND `motdepasse` = '$motdepasse'";
        $req = mysql_query ($sql);
        $data=mysql_fetch_array($req);
          echo "Bienvenue $data[nom] $data[prenom] <br> <br>";
          $ideleve=$data['num'];
         
         
        ?>
        <form method="post" action="page2.php" enctype="multipart/form-data">
             
             <label for="mon_fichier"><u>Fichier (tous formats | max. 1 Mo) :</u></label><br />
             <input type="hidden" name="MAX_FILE_SIZE" value="1048576" />
             <input type="hidden" name="Var_password" value="<?php echo $motdepasse; ?>" />
             <input type="hidden" name="Var_pseudo" value="<?php echo $pseudo; ?>" />
             <input type="hidden" name="envoi_form" value="1" />
             <input type="file" name="mon_fichier" id="mon_fichier" /><br /><br>
             <label for="titre"><u>Titre du fichier (max. 50 caractères) :</u></label><br />
             <input type="text" name="titre" value="Titre du fichier" id="titre" /><br /><br>
             <label for="description"><u>Description de votre fichier (max. 255 caractères) :</u></label><br />
             <textarea name="description" id="description"></textarea><br />
             <input type="submit" name="submit" value="Envoyer" />    
        </form>
        <?php    
       
        if (isset($_POST['envoi_form']))
        {
            echo "On traite le formulaire";
 
            $dossier = 'fichiers/';
            $fichier = basename($_FILES['mon_fichier']['name']);
            if(move_uploaded_file($_FILES['mon_fichier']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
            {
                $nomfichier=$_FILES['mon_fichier']['name'];
                 
                $description=$_POST['description'];
                echo 'Upload effectué avec succès ! : '.$nomfichier. "description : ".$description." - id eleve = ".$ideleve;        
                 
         
                $sql = "INSERT INTO document (`nom`,`description`,`numeleve`)
                VALUE ('$nomfichier','$description','$ideleve')";
                $req = mysql_query ($sql);
                 
                 
                         
            }
     
            else //Sinon (la fonction renvoie FALSE).
            {
                      echo 'Echec de l\'upload !';
            }
 
     
       
        }
         
        ?>
         
         
        <hr><u> <span style="background-color:#40c0ff;" >Liste des fichiers : </span> </u><br><br>
         
        <?php
        $sql = "SELECT * FROM `ELEVE``, document
        where
eleve.num = document.numeleve;";
        $req = mysql_query ($sql);
        while ($data=mysql_fetch_array($req))
        {
            echo $data['date']."- <a href='fichiers/$data[nom]' target='blank'>".$data['nom']."</a><br>";
        }
    }
     
    else
    {
      echo "Problème de pseudo ou de mot de passe";
    }
}
 
?>

Pied de page des forums

Propulsé par FluxBB