inserer une date

Remi1995
Invité n'ayant pas de compte PHPfrance

21 janv. 2012, 10:11

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 janv. 2012, 11:23

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 ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Remi1995
Invité n'ayant pas de compte PHPfrance

21 janv. 2012, 11:53

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>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 janv. 2012, 15:02

Plutôt comme ceci :
$sql = 'INSERT INTO membre(login,date) VALUES(\'Mateo\', NOW())';
Ou encore
$sql = "INSERT INTO membre(login,date) VALUES('Mateo', NOW())";
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 2278 Messages

21 janv. 2012, 15:23

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);
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Remi1995
Invité n'ayant pas de compte PHPfrance

21 janv. 2012, 18:29

	<?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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 janv. 2012, 18:37

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())'"';                  
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Remi1995
Invité n'ayant pas de compte PHPfrance

21 janv. 2012, 20:58

s'est ou

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 janv. 2012, 21:14

C'est là :
$sql = 'INSERT INTO membre VALUES("'.mysql_escape_string($_POST['login']).''NOW())'"';
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Remi1995
Invité n'ayant pas de compte PHPfrance

21 janv. 2012, 22:07

est -ce que s'est la parenthèse ?

Remi1995
Invité n'ayant pas de compte PHPfrance

21 janv. 2012, 22:11

je n'arrive pas a trouver est ce que s'est le point

Remi1995
Invité n'ayant pas de compte PHPfrance

21 janv. 2012, 22:25

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

22 janv. 2012, 00:40

$sql = "INSERT INTO membre(login,date) VALUES('Mateo', NOW())";

$sql = "INSERT INTO membre(login,date) VALUES('" . mysql_escape_string($_POST['login']) ."', NOW())";
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Remi1995
Invité n'ayant pas de compte PHPfrance

22 janv. 2012, 09:32

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())

ViPHP
xTG
ViPHP | 7331 Messages

22 janv. 2012, 10:34

Il te manque un opération de concaténation avant le mysql_real_escape_string(). ;)