Page 1 sur 1

Problème de syntaxe variable : unexpected T_VARIABLE

Posté : 27 févr. 2012, 11:55
par maxime360
Bonjour à tous, merci de lire ce message !
J'ai récemment fait un script permettant d'écrire une ligne comprenant l'ID d'un joueur que celui-ci va entrer dans un formulaire !
Voici le formulaire :
<html>
<head>
<title> Entrez votre SteamID de la forme STEAM_0:0:0000000 </title>
</head>
<body>
<form name="steamid" action="ajoutjoueurvip.php" method="POST">
  <table border="0" align="center" cellspacing="2" cellpadding="2"> <!-- On choisis la "forme" du champ de saise -->
    <tr align="center">
      <td>SteamID</td> <!-- Texte apparent au champ de saisie ! -->
      <td><input type="text" name="steamid"></td> <!-- le "steamid" nous servira de valeur dans la page de validation -->
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="valider"></td> <!-- On valide et envoyons -->
    </tr>
</body>
</html>
Celui-ci pointe vers le fichier qui va ajouter le SteamID du joueur et un nombre après un espace :
<?php

// A quoi doit correspondre le steamid en terme de variable
$steamID = $_POST['steamid'];
// votre nouveau texte + 1 nouvelle ligne
$nouvelle_ligne = '"'$SteamID'" 5'."\n";
// le chemin
$file = 'admin.php';
// on stocke l'ancien texte
$anciennes_lignes = file($file);
// add les nouvelles lignes au debut du tableau
array_unshift($old_lignes,$nouvelle_ligne);
// ressort les lignes du tableau
$new_content = join('',$anciennes_lignes);
$fp = fopen($file,'w');
// ecrit la chaine dans le fichier
$write = fwrite($fp, $new_content);
fclose($fp);

?>
L'erreur suivante intervient :
Parse error: syntax error, unexpected T_VARIABLE in /public_html/PERP3/test/ajoutjoueurvip.php on line 6
Pourtant j'ai toujours utilisé cette syntaxe, j'ai aussi essayé ['steamid'] et ['$SteamID'] mais si vous penserez peut-être que c'est complétement débile !

Quelle syntaxe utiliser ?

Merci beaucoup pour toutes vos réponses !
Cdt, max

Re: Problème de syntaxe variable : unexpected T_VARIABLE

Posté : 27 févr. 2012, 12:19
par Thibaud C
$nouvelle_ligne = '"'.$SteamID.'" 5'."\n";
Il manque des points des petits points ^^.
Et oui il faut des "." pour que les chaines se suivent comme tu as fais avec le \n d'ailleur.

Par contre ton formulaire ne vérifie même pas si ton post existe :/?

Re: Problème de syntaxe variable : unexpected T_VARIABLE

Posté : 27 févr. 2012, 12:21
par maxime360
Ahhhh oui ! Je vais essayer ça toute suite !
La vérification je m'en chargerai après :)
Une nouvelle erreur intervient :
Warning: array_unshift() [function.array-unshift]: The first argument should be an array in /public_html/PERP3/test/ajoutjoueurvip.php on line 12
Seulement, si je met un array, je script ne fonctionne pas !
Encore un peu d'aide s'il vous plaît ?

Re: Problème de syntaxe variable : unexpected T_VARIABLE

Posté : 27 févr. 2012, 12:25
par Thibaud C
if(isset($_POST['streamid']))
{
   // je suis tranquil je peux faire mon post
}
else
{
// tu n'as rien a faire ici !!!
}

Re: Problème de syntaxe variable : unexpected T_VARIABLE

Posté : 27 févr. 2012, 12:34
par maxime360
Après avoir fait ce que tu m'as dit ça donne ça :
<?php

// Il faut vérifier le post
if(isset($_POST['streamid']))
{
// A quoi doit correspondre le steamid en terme de variable
$steamID = $_POST['steamid'];
// votre nouveau texte + 1 nouvelle ligne
$nouvelle_ligne = '"'.$SteamID.'" 5'."\n";
// le chemin
$file = 'admin.php';
// on stocke l'ancien texte
$anciennes_lignes = file($file);
// add les nouvelles lignes au debut du tableau
array_unshift($old_lignes, $nouvelle_ligne);
// ressort les lignes du tableau
$new_content = join('',$anciennes_lignes);
$fp = fopen($file,'w');
// ecrit la chaine dans le fichier
$write = fwrite($fp, $new_content);
fclose($fp);
}
else
{
	echo("Vous n'avez pas entré votre steamID, veuillez contacter un <a href='mailto:[email protected]'>administrateur</a> avec votre code et l'heure d'achat.");
}
?>
et la l'erreur : Vous n'avez pas entré votre steamID, veuillez contacter un administrateur avec votre code et l'heure d'achat.
intervient dans tous les cas, je fait toujours référence à l'erreur de mon post précédent ! Merci à tous et a thibaud pour votre aide !

Re: Problème de syntaxe variable : unexpected T_VARIABLE

Posté : 27 févr. 2012, 12:55
par Thibaud C
Hum normal :) j'ai mis streamid à la place de steamid ^^ petite erreur de ma part :p ! Pour ça qu'il ne faut "jamais" faire du copié collé ^^

Pour le array_unshift, je n'ai jamais utilisé cette fonction, donc je ne vais pas m'avancer :)

Re: Problème de syntaxe variable : unexpected T_VARIABLE

Posté : 27 févr. 2012, 14:08
par maxime360
Donc merci mais l'erreur

Code : Tout sélectionner

Warning: array_unshift() [function.array-unshift]: The first argument should be an array in /public_html/PERP3/test/ajoutjoueurvip.php on line 15
Ne veut vraiment pas partir. Si je remplace array_unshift par array, le script affiche page blanche, et rien ne se produit !

Merci encore pour votre aide !

Re: Problème de syntaxe variable : unexpected T_VARIABLE

Posté : 27 févr. 2012, 14:38
par maxime360
J'ai trouvé, nouveau code :
<?php

// Il faut vérifier le post
if(isset($_POST['steamid']))
{
// A quoi doit correspondre le steamid en terme de variable
$steamID = $_POST['steamid'];
// votre nouveau texte + 1 nouvelle ligne
$nouvelle_ligne = ''.$SteamID.' 5'."\n";
// le chemin
$file = 'admin.php';
// on stocke l'ancien texte
$anciennes_lignes = file($file);
// add les nouvelles lignes au debut du tableau
array_unshift($anciennes_lignes, $nouvelle_ligne);
// ressort les lignes du tableau
$new_content = join('',$anciennes_lignes);
$fp = fopen($file,'w');
// ecrit la chaine dans le fichier
$write = fwrite($fp, $new_content);
fclose($fp);
}
else
{
	echo("Vous n'avez pas entré votre steamID, veuillez contacter un <a href='mailto:[email protected]'>administrateur</a> avec votre code et l'heure d'achat.");
}
?>
Voici le code fonctionnel, merci à toi Thibaud c'est super cool :D !
A+ !