problème de script avec liaison base de donnée

problème de script avec liaison base de donnée - PHP - Programmation

Marsh Posté le 28-06-2005 à 23:34:49    

voila lorsque j'execute mon script j'ai le message suivant :
 
Parse error: parse error, unexpected $ in /home/dreaminf/www/envoi.php on line 58
 
voici la souce :
 
<?php
// récupération des données du formulaires
if (isset($_POST['login'])) {
 $vlogin = $_POST['login'];
}
else {
$vlogin ="";
}
 
if (isset($_POST['password'])) {
 $vpassword = $_POST['password'];
}
else {
$vpassword ="";
}
 
if (isset($_POST['nom'])) {
 $vnom = $_POST['nom'];
}
else {
$vnom ="";
}
 
if (isset($_POST['prenom'])) {
 $vprenom = $_POST['prenom'];
}
else {
$vprenom ="";
}
 
if (isset($_POST['email'])) {
 $vemail = $_POST['email'];
}
else {
$vemail ="";
}
 
 if (empty($login))  
 {echo "le champs login ne peut etre vide";
 }
 
 else
 {
// connexion à votre base de donnée
$connexion = mysql_connect("mysql4.3","dreaminfbase1","gandalf" )or die("erreur de connexion a la base de donnees" );
mysql_select_db("dreaminfbase1",$connexion) or die("erreur de connexion au serveur" );
 
// on créer la requête SQL, pour ensuite l'envoyer
$sql = 'INSERT INTO `acces` ( `login` , `password` , `nom` , `prenom` , `email` ) '
       . ' VALUES ( '.$vlogin.','.$vpassword.','.$vnom.','.$vprenom.','.$vemail.');
 
mysql_query($sql) or die("erreur sql" );
 
// fermeture de la connexion vers Mysql
mysql_close();
echo "Vos données ont été envoyées !";
 }
?>
 
 
la ligne 58 correspond a : ?>
 
quelqu'un serait il me dire ou est mon erreur je galere sur ce script qui est assez simple !
 
merci pour vos reponse !

Reply

Marsh Posté le 28-06-2005 à 23:34:49   

Reply

Marsh Posté le 28-06-2005 à 23:37:41    

Code :
  1. $sql = 'INSERT INTO `acces` ( `login` , `password` , `nom` , `prenom` , `email` ) '
  2.        . ' VALUES ( '.$vlogin.','.$vpassword.','.$vnom.','.$vprenom.','.$vemail.');


 
Manque un quote avant le ; final.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 28-06-2005 à 23:41:06    

précise je comprend pas je debute ! il faut me dire préscisement ce qu'il manque et à quel endroit merci

Reply

Marsh Posté le 28-06-2005 à 23:45:05    

Reply

Marsh Posté le 28-06-2005 à 23:54:34    

merci
j'ai rajouter un ' comme si dessous :
    * $sql = 'INSERT INTO `acces` ( `login` , `password` , `nom` , `prenom` , `email` ) '  
    *        . ' VALUES ( '.$vlogin.','.$vpassword.','.$vnom.','.$vprenom.','.$vemail.')';
 
mais j'ai le message erreur sql donc apparament il n'arrive pas a executer ma requete voici : le code pour ma base e donnée sql:
 
# phpMyAdmin SQL Dump
# version 2.5.7-pl1
# http://www.phpmyadmin.net
#
# Serveur: mysql4.3
# Généré le : Mardi 28 Juin 2005 à 23:51
# Version du serveur: 4.0.17
# Version de PHP: 4.3.11
#  
# Base de données: `dreaminfbase1`
#  
 
# --------------------------------------------------------
 
#
# Structure de la table `acces`
#
 
CREATE TABLE `acces` (
  `login` varchar(20) NOT NULL default '',
  `password` varchar(20) default NULL,
  `nom` varchar(20) default NULL,
  `prenom` varchar(20) default NULL,
  `email` varchar(20) default NULL,
  PRIMARY KEY  (`login`),
  KEY `nom` (`nom`,`prenom`,`email`),
  FULLTEXT KEY `login` (`login`,`password`,`nom`,`prenom`,`email`)
) TYPE=MyISAM;
 
je comprend vraiment pas je passe de message d'erreur  en message d'erreur effectivement j'oublie cerain caractère à force de modifier quelqu'un peut il mexpliquer celui ci

Reply

Marsh Posté le 28-06-2005 à 23:58:02    

Ca t'affiche ce que tu viens de coller ?
 
Ce serait bien de voir le message d'erreur...


Message édité par sielfried le 28-06-2005 à 23:58:27

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 29-06-2005 à 08:10:54    

non le message d'erreur est :
 
erreur sql
 
ce message est du a la ligne :
mysql_query($sql) or die("erreur sql" );  
 
il n'arrive pas a executé ma requete

Reply

Marsh Posté le 29-06-2005 à 08:25:32    

Tu le fais expres? C'est un peu normal que si tu met un or die("Erreur" ) ca te donne erreur si tu marche pas .... met un or die(mysql_error()); si tu veux pouvoir y comprendre qqch


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 29-06-2005 à 09:40:55    

L'erreur vient probablement d'une de tes variables v* contenant un espace.
 
Remplace  

Code :
  1. . ' VALUES ( '.$vlogin.','.$vpassword.','.$vnom.','.$vprenom.','.$vemail.')';


par

Code :
  1. . ' VALUES ( \''.$vlogin.'\',\''.$vpassword.'\',\''.$vnom.'\',\''.$vprenom.'\',\''.$vemail.'\')';


 
Sinon effectivement, un mysql_error() serait bien plus adapté ici. [:figti]


Message édité par sielfried le 29-06-2005 à 09:41:38

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed