Page 1 sur 4

inserer une date

Posté : 21 janv. 2012, 10:11
par Remi1995
bonjour j'ai poster sur se forum pour que vous m'aidiez alors si vous y répondez je vous remercie d'avance
<?php
$sql = 'INSERT INTO membre(login, date) VALUES('Mateo','NOW()')'

mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
?>
<form action="inscription.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
<input type="submit" name="inscription" value="Inscription">
</form>
et esayphp m'affiiche
Parse error: syntax error, unexpected T_STRING in C:\Program Files\EasyPHP-5.3.8.1\www\Espace_Membre\dd.php on line 2

Re: inserer une date

Posté : 21 janv. 2012, 11:23
par Ryle
Dans une chaine délimitée par des apostrophes, il faut protéger les apostrophes qu'elle contient avec un antislash ( \ ) pour que php puisse faire la différence entre la fin de la chaine et le caractère apostrophe :)

Ah et pis NOW() est une fonction mysql, si tu là mets entre apostrophes quand tu demandes à la base de l'exécuter, ça devient la chaine N O W ( ) et non plus la date courante :)

Autre problème que tu vas rencontrer juste après, c'est qu'à la fin d'une instruction php, il faut un point-virgule ;)

inserer une date

Posté : 21 janv. 2012, 11:53
par Remi1995
merci sauf que ça ne marche pas c'est bien ça qui faut mettre
<?php
$sql = 'INSERT INTO membre(login,date) VALUES('Mateo',NOW()'/);

mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
?>
 <form action="inscription.php" method="post">
 Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
 Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
 Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
 <input type="submit" name="inscription" value="Inscription">
 </form>

Re: inserer une date

Posté : 21 janv. 2012, 15:02
par Ryle
Plutôt comme ceci :
$sql = 'INSERT INTO membre(login,date) VALUES(\'Mateo\', NOW())';
Ou encore
$sql = "INSERT INTO membre(login,date) VALUES('Mateo', NOW())";

Re: inserer une date

Posté : 21 janv. 2012, 15:23
par sirakawa
merci sauf que ça ne marche pas c'est bien ça qui faut mettre
<?php
$sql = 'INSERT INTO membre(login,date) VALUES('Mateo',NOW()'/);

mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
?>
 
Si tu vérifiais:
print "$sql";
ça serait instructif.
Et aussi en mettant au début :
error_reporting(E_ALL);

inserer une date

Posté : 21 janv. 2012, 18:29
par Remi1995
	<?php
$base = mysql_connect ('localhost', 'root', '');
		 mysql_select_db ('espace_membre', $base);
		 $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
			$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
			$data = mysql_fetch_array($req);
			if ($data[0] == 0) {
				$sql = 'INSERT INTO membre VALUES("'.mysql_escape_string($_POST['login']).''NOW())'"';			
				mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
				session_start();
				$_SESSION['login'] = $_POST['login'];
				header('Location: membre.php');
				exit();
		
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
?>
 <form action="date.php" method="post">
 Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
 Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
 Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
 <input type="submit" name="inscription" value="Inscription">
 </form>
et voici ce que m'affiche easyphp

Parse error: syntax error, unexpected T_STRING in C:\Program Files\EasyPHP-5.3.8.1\www\Espace_Membre\dd.php on line 8
alors si vous pouviez me dire se qui ne va pas je vous serai reconnaissant

Re: inserer une date

Posté : 21 janv. 2012, 18:37
par Ryle
Tu as une erreur de syntaxe ligne 8 (et en l'occurrence, c'est aussi ce qu'indique php :))
Donc regarde la construction de ta requête ligne 8, tu devrais voir des choses qui clochent :
 $sql = 'INSERT INTO membre VALUES("'.mysql_escape_string($_POST['login']).''NOW())'"';                  

Re: inserer une date

Posté : 21 janv. 2012, 20:58
par Remi1995
s'est ou

Re: inserer une date

Posté : 21 janv. 2012, 21:14
par Ryle
C'est là :
$sql = 'INSERT INTO membre VALUES("'.mysql_escape_string($_POST['login']).''NOW())'"';

Re: inserer une date

Posté : 21 janv. 2012, 22:07
par Remi1995
est -ce que s'est la parenthèse ?

Re: inserer une date

Posté : 21 janv. 2012, 22:11
par Remi1995
je n'arrive pas a trouver est ce que s'est le point

Re: inserer une date

Posté : 21 janv. 2012, 22:25
par Remi1995
j'ai essayé ça
	<?php
$base = mysql_connect ('localhost', 'root', '');
		 mysql_select_db ('espace_membre', $base);
		$sql = 'INSERT INTO membre VALUES("'.mysql_escape_string($_POST['login'])."NOW())";
		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
			$data = mysql_fetch_array($req);
			if ($data[0] == 0) {
				 $sql ='INSERT INTO membre VALUES("'.mysql_escape_string($_POST['login'])."'NOW())'"; 
				 mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
				session_start();
				$_SESSION['login'] = $_POST['login'];
				header('Location: membre.php');
				exit();
		
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
?>
 <form action="date.php" method="post">
 Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
 Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
 Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
 <input type="submit" name="inscription" value="Inscription">
 </form>
mais easyphp m'affiche
Parse error: syntax error, unexpected $end in C:\Program Files\EasyPHP-5.3.8.1\www\Espace_Membre\dd.php on line 22

Re: inserer une date

Posté : 22 janv. 2012, 00:40
par Ryle
$sql = "INSERT INTO membre(login,date) VALUES('Mateo', NOW())";

$sql = "INSERT INTO membre(login,date) VALUES('" . mysql_escape_string($_POST['login']) ."', NOW())";

Re: inserer une date

Posté : 22 janv. 2012, 09:32
par Remi1995
j'ai réussis a enlever Parse error: syntax error, unexpected $end in C:\Program Files\EasyPHP-5.3.8.1\www\Espace_Membre\dd.php on line 22
mais maintenant j'ai Parse error: syntax error, unexpected T_STRING in C:\Program Files\EasyPHP-5.3.8.1\www\Espace_Membre\dd.php on line 7

et voici le code
$base = mysql_connect ('localhost', 'root', '');
			 mysql_select_db ('espace_membre', $base);
			$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
				$data = mysql_fetch_array($req);
				if ($data[0] == 0) {
				$sql = "INSERT INTO membre(login,date) VALUES("mysql_escape_string.($_POST['login']" NOW())"
					 mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error())

Re: inserer une date

Posté : 22 janv. 2012, 10:34
par xTG
Il te manque un opération de concaténation avant le mysql_real_escape_string(). ;)