Probleme de fichier php "Parse error"

Fermé
angeailes Messages postés 11 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 7 avril 2009 - 7 avril 2009 à 13:53
 Utilisateur anonyme - 7 avril 2009 à 18:02
Bonjour,

j'ai pris sur un site internet un fichier qui permet d'ajouter aprés un formulaire des données dans un base mysql

le fichier s'appelle ajouter.php
avec le code suivant
<?php
include("connexion.php");

if ($POST['nom'] != " AND $POST['prenom'] != " AND $POST['age'] != ")
{
connexion();

$sql = “INSERT INTO mabase(id,nom,prenom,age) ";
$sql .= "VALUES(",’$_POST['nom']‘,’$_POST['prenom']‘,’$_POST['age']‘)";

mysql_query($sql) or die(mysql_error());
}
else
{
echo ‘Erreur ! Vous devez remplir tous les champs !’;
}
?>


Mais j'ai l'erreur suivante:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/17/d118857659/htdocs/php/ajouter.php on line 4

je n'arrive pas à comprendre mon erreur
Merci d'avance
A voir également:

22 réponses

vincent170186 Messages postés 316 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 septembre 2012 52
7 avril 2009 à 13:58
salut

ton fichier connexion.php qui est en include il contient quoi ?
parce que je ne connais pas connexion() !
ton erreur si situe a la ligne 4 je sais pas c'est laquelle sur ton exemple !
0
puxor Messages postés 318 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 4 mai 2009 89
7 avril 2009 à 14:00
Salut

Essaie ça...

et retourne l'erreur si il y en a

<?php
include("connexion.php");

if ($POST['nom'] != '' AND $POST['prenom'] != '' AND $POST['age'] != ''){
	connexion();
	$sql = "INSERT INTO mabase(id,nom,prenom,age)";
	$sql .= "VALUES('".$_POST['nom']."','".$_POST['prenom']."','".$_POST['age']."')";
	mysql_query($sql) or die(mysql_error());
}
else
{
echo 'Erreur ! Vous devez remplir tous les champs !';
}
?> 
0
angeailes Messages postés 11 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 7 avril 2009
7 avril 2009 à 14:01
Bonjour voici mon code avec mes identifiants en moins

<?php
$host = "********"; /* L’adresse du serveur */
$login = "*********"; /* Votre nom d’utilisateur */
$password = "*********"; /* Votre mot de passe */
$base = "*********"; /* Le nom de la base */

function connexion()
{
global $host, $login, $password, $base;
$db = mysql_connect($host, $login, $password);
mysql_select_db($base,$db);
}
?>

Cordialement

Fred
0
Utilisateur anonyme
7 avril 2009 à 14:01
Bonjour,
C'est plutôt
if ($POST['nom'] != "" AND $POST['prenom'] != "" AND $POST['age'] != "") 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
angeailes Messages postés 11 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 7 avril 2009
7 avril 2009 à 14:08
Bonjour à tous

Merci pour toute vos réponses. Je souhaite me mettre au php donc aprés plusieures recherches j'ai trouvé un tutoriel qui explique comment créer une base de donnée php/ My sql

Mais je rencontre beaucoup de probleme

voici les 4 fichiers php

Le 1 er fichier connexion.php



<?php
$host = “localhost”; /* L’adresse du serveur */
$login = “”; /* Votre nom d’utilisateur */
$password = “”; /* Votre mot de passe */
$base = “”; /* Le nom de la base */

function connexion()
{
global $host, $login, $password, $base;
$db = mysql_connect($host, $login, $password);
mysql_select_db($base,$db);
}
?>

Le 2eme fichier: installation.php

<?php
include(”connexion.php”);

connexion();

$sql= “CREATE TABLE IF NOT EXISTS `mabase` (”;
$sql .= “`id` int(11) NOT NULL auto_increment,”;
$sql .= “`nom` text NOT NULL,”;
$sql .= “`prenom` text NOT NULL,”;
$sql .= “`age` int NOT NULL,”;
$sql .= “PRIMARY KEY (`id`),”;
$sql .= “UNIQUE KEY `id_2` (`id`),”;
$sql .= “KEY `id` (`id`)”;
$sql .= “) ENGINE=MyISAM’;”;

mysql_query($sql) or die(mysql_error());
?>

Le 3eme fichier: ajouter.php

<?php
include(”connexion.php”);

if ($POST['nom'] != ” AND $POST['prenom'] != ” AND $POST['age'] != ”)
{
connexion();

$sql = “INSERT INTO mabase(id,nom,prenom,age) “;
$sql .= “VALUES(”,’$_POST['nom']‘,’$_POST['prenom']‘,’$_POST['age']‘)”;

mysql_query($sql) or die(mysql_error());
}
else
{
echo ‘Erreur ! Vous devez remplir tous les champs !’;
}
?>

Et le 4éme Fichier: Formulaire.php

<form name="formulaire" method="post" action="ajouter.php">
<table width="200" border="1">
<tr>
<td>Nom:</td>
<td><input name="nom" type="text" id="nom"></td>
</tr>
<tr>
<td>Prénom:</td>
<td><input name="prenom" type="text" id="prenom"></td>
</tr>
<tr>
<td>Age:</td>
<td><input name="age" type="text" id="age" size="3" maxlength="3"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Envoyer">
</div></td>
</tr>
</table>
</form>

Donc j'essaye au travers des recherches où sont les erreurs dans ces codes

merci
0
puxor Messages postés 318 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 4 mai 2009 89
7 avril 2009 à 14:10
t'as essayer le code que j'ai posté ?

si oui, merci de retourner les erreurs pour qu'on puisse t'aider.
0
angeailes Messages postés 11 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 7 avril 2009
7 avril 2009 à 14:14
OUi désolé PUXOR j'ai oublié

je n'ai plus de codes d'erreur
Mais aprés avoir remplir le formulaire j''ai à l'écran
"Erreur ! Vous devez remplir tous les champs ! "
alors que je remplis tous les champs

Cordialement

Fred
0
Utilisateur anonyme
7 avril 2009 à 14:18
Et le code que je t'ai posté. ^^ Parce que l'erreur vient de là.
0
angeailes Messages postés 11 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 7 avril 2009
7 avril 2009 à 14:21
Bonjour Adenora

en mettant ton code j'ai à nouveau une erreur
Parse error: syntax error, unexpected '}' in /homepages/17/d118857659/htdocs/php/ajouter.php on line 9

Cordialement

Fred
0
Utilisateur anonyme
7 avril 2009 à 14:25
Elles sont bizarre tes guillemets.
if (!empty($POST['nom']) AND !empty($POST['prenom']) AND !empty($POST['age'])) {
...
}

C'est peut être mieux ça.
0
angeailes Messages postés 11 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 7 avril 2009
7 avril 2009 à 14:39
Adenora avec ce code là j'ai une erreur en line 5


Parse error: syntax error, unexpected '.' in /homepages/17/d118857659/htdocs/php/ajouter.php on line 5
0
Utilisateur anonyme
7 avril 2009 à 14:44
Bon, on reprend le code, ce sera plus simple ^^
<?php
include("connexion.php");

if (!empty($POST['nom']) AND !empty($POST['prenom']) AND !empty($POST['age']))
{
connexion();
$nom=$POST['nom'];
$prenom=$POST['prenom'];
$age=$_POST['age'];

$sql = "INSERT INTO mabase (id,nom,prenom,age) VALUES('','$nom','$prenom','$age')";
mysql_query($sql) or die(mysql_error());
}
else
{
echo "Erreur ! Vous devez remplir tous les champs !";
}
?> 
0
angeailes Messages postés 11 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 7 avril 2009
7 avril 2009 à 14:58
Adero

j'ai bien pris votre code

Donc je n'ai plus d'erreur maintenant sauf ce message
"Erreur ! Vous devez remplir tous les champs ! "

Quels messages je devrait avoir en cas de succés ?

cordialement

Fred
0
Utilisateur anonyme
7 avril 2009 à 15:06
En cas de succès, il ne doit pas y avoir de message.
Tu as bien rempli tous les champs ?
Ou alors je me suis trompée avec empty et les booléens (and, or).
0
angeailes Messages postés 11 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 7 avril 2009
7 avril 2009 à 15:17
Adenora

Voici mon fichier en ligne

www.imei.org/PHP/formulaire.php

Cordialement
Merci pour votre assistance

Fred
0
Utilisateur anonyme
7 avril 2009 à 17:21
Oh, la grosse faute que j'ai faite. ^^ (J'ai fait $POST au lieu de $_POST)
Voilà le bon code. J'ai supprimé le fichier connexion.php, mais ça fonctionne pareil.
Si tu veux tester sur ton site en ligne, n'oublie pas de remplacer (dans mysql_connect) localhost par le nom du serveur, root par le nom de l'utilisateur et le dernier argument, par le mot de passe.
<?php

if ((!empty($_POST['nom'])) and (!empty($_POST['prenom'])) and (!empty($_POST['age'])))
{
mysql_connect("localhost","root","");
mysql_select_db("test");
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$age=$_POST['age'];

$sql = "INSERT INTO plop (id,nom,prenom,age) VALUES('','$nom','$prenom','$age')";
mysql_query($sql) or die(mysql_error());
echo "Ajouté";
}
else
{
echo "Erreur ! Vous devez remplir tous les champs !";
}
?> 


Le premier soucis que tu avais, c'était ces guillemets bizarre --> ”
0
angeailes Messages postés 11 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 7 avril 2009
7 avril 2009 à 17:31
Merci adenora j'ai fais toutes les modifactions comme indiqué et j'ai le message suivant

"No Database Selected"

Cordialement

fred
0
Utilisateur anonyme
7 avril 2009 à 17:35
Désolée, j'ai oublié de changer la base plop (la mienne) par ta base (mabase ?).
Change ça :
$sql = "INSERT INTO plop (id,nom,prenom,age) VALUES('','$nom','$prenom','$age')";

Par :
$sql = "INSERT INTO mabase (id,nom,prenom,age) VALUES('','$nom','$prenom','$age')";

J'espère que je n'ai pas fait d'autres erreurs ^^
0
angeailes Messages postés 11 Date d'inscription mardi 7 avril 2009 Statut Membre Dernière intervention 7 avril 2009
7 avril 2009 à 17:49
Adenora

je pense que tu vas pas le croire mais j'ai toujours ce message là
No Database Selected



<?php

if ((!empty($_POST['nom'])) and (!empty($_POST['prenom'])) and (!empty($_POST['age'])))
{
mysql_connect("db115.1and1.fr","dbo174309105","4wSvVV5z");
mysql_select_db("test");
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$age=$_POST['age'];

$sql = "INSERT INTO mabase (id,nom,prenom,age) VALUES('','$nom','$prenom','$age')";
mysql_query($sql) or die(mysql_error());
echo "Ajouté";
}
else
{
echo "Erreur ! Vous devez remplir tous les champs !";
}
?>
0
Utilisateur anonyme
7 avril 2009 à 17:52
J'espère que tu n'as pas mis ton mot de passe dans le message (code) ? Si oui, enlève-le, tu risques d'avoir des personnes qui feront des bêtises avec.

Mince, la prochaine fois, je tournerai ma langue 7 fois dans la bouche.
Change ça :
mysql_select_db("test");

Remplace test par le nom de ta base de données.
0