Vous n'êtes pas identifié(e).
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
Hors ligne
Salut,
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
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
Dernière modification par ViKKKing (13-04-2017 09:43:07)
- Technical skill is mastery of complexity, while creativity is mastery of simplicity.
- Au fil des ans, je ne vieillis pas, je deviens vintage !
Hors ligne
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
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";
}
}
?>
Dernière modification par Quartz9 (13-04-2017 16:00:03)
Hors ligne
$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.
Dernière modification par Quartz9 (13-04-2017 18:58:18)
Hors ligne
Alors (merci la coloration syntaxique de Notepad++ ^^) :
ça correspond à -> $ideleve=$data['num']; /* à priori, le champ 'num' n'existe pas ou ne renvoit rien */
ça correspond à -> $sql = SELECT * FROM `ELEVE``, document where eleve.num = document.numeleve; /* encore une erreur de backtick / requete à mettre en " " */
ça correspond à -> echo $data['date'] /* pas de bras, pas de chocolat ! pas de requete, pas de loop -> pas de loop, pas de data ! pour les fans de "mission Cleopatre, revoir la scene avec "pas de pierre, pas de construction ! pas de construction, pas de palais ! pas de palais... pas de palais !" */
Dernière modification par ViKKKing (16-04-2017 21:34:47)
- Technical skill is mastery of complexity, while creativity is mastery of simplicity.
- Au fil des ans, je ne vieillis pas, je deviens vintage !
Hors ligne