Inscription des données en mysql

Fermé
Romyyy - 5 janv. 2011 à 23:33
 Utilisateur anonyme - 7 janv. 2011 à 12:28
Bonsoir,
J'ai créé un formulaire d'inscription pour mon site pour devenir membre. J'aimerais que les champs prénoms noms et emails soient enregistrés dans ma base de données. Or il s'affiche "Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in C:\wamp\www\formulaire\cible.php on line 12" à l'écran quand je teste le code que voici. Sauriez-vous m'aider à trouver mes erreurs ? Merci d'avance voici le code :
<meta http-esquiv="refresh" content="8"; URL="index.html">
<p>Merci à vous,<strong><?php echo $_POST['prenom']; ?></strong>, d'avoir pris le temps de remplir ce formulaire d'inscription.</p>
<p>Un email de confirmation d'inscription vous a été envoyé à l'adresse "<?php echo $_POST['email']; ?>".</p>
<p>Merci de cliquer sur le lien de confirmation pour valider votre inscription.</p>
<p><font color="#FF0000"><strong><U><a href="index.html">Cliquez ici pour retourner sur la page d'accueil.</a href></strong></u></font></p>
<?php
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
$req = $bdd->prepare('INSERT INTO membres(nom, prenom, email, mdp) VALUES(:nom, :prenom, :email, :mdp)');
$req->execute(array(
'nom' => $_POST['nom']
'prenom' => $_POST['prenom']
'email' => $_POST['email']
'mdp' => $_POST['pass']
));
?>
A voir également:

6 réponses

Utilisateur anonyme
5 janv. 2011 à 23:55
Salut,

pourquoi tu ne passe pas en PHP simple au lieu de passe en PDO, ça serait plus simple, non?

sinon je voit ceci(mais comme je ne connait pas PDO je sais pas si c'est une erreur): $req = $bdd->prepare('INSERT INTO membres(nom, prenom, email, mdp) VALUES(:nom, :prenom, :email, :mdp)');

tu met des ":" devant nom, prenom, email et mdp
1
Dark-wolf Messages postés 3 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 5 janvier 2011 1
5 janv. 2011 à 23:59
O lala!
Quel code je te conseille de former tes lignes comme sa:
Pseudo:<br/>
<input ............. />
et pour le php
$_post[pseudo]
1
essaie de mettre des ' dans tes variable voir:

'nom' => $_post['nom']
'prenom' => $_post['prenom']
'email' => $_post['email']
'mdp' => $_post['pass']

et pour la redirection c'est pas "esquiv" mais equiv ^^
<meta http-equiv="refresh" content="8;URL=index.html" />

ta une erreur aussi ici: <a href="index.html">Cliquez ici pour retourner sur la page d'accueil.</a href> c'est </a> pour refermer un lien et non </a href> ; )



sinon moi je ferai comme ceci:


<?php

	if(isset($_POST['nom'])) {
	
		if(empty($_POST['nom'])) {
				
			echo "Veuillez remplir le champ Nom<br /><a href='".$_SERVER["PHP_SELF"]."'>Retour</a>";
				
		} else {
			
			// ont verifie que rien ne soit vide
			if(empty($_POST['prenom'])) {
			
				echo "Veuillez remplir le champ prenom<br /><a href='".$_SERVER["PHP_SELF"]."'>Retour</a>";
			
			} else {
			
				if(empty($_POST['email'])) {
			
					echo "Veuillez remplir le champ email<br /><a href='".$_SERVER["PHP_SELF"]."'>Retour</a>";
			
				} else {
		
					if(empty($_POST['mdp'])) {
				
						echo "Veuillez remplir le champ mdp<br /><a href='".$_SERVER["PHP_SELF"]."'>Retour</a>";
				
					} else {
					
						$nom = htmlentities(addslashes($_POST['nom']));
						$prenom = htmlentities(addslashes($_POST['prenom']));
						$email = htmlentities(addslashes($_POST['email']));
						$mdp = htmlentities(addslashes($_POST['mdp']));
						
						// on insere dans la bbd son enregistrement
						mysql_query("INSERT INTO table_membre(nom, prenom, email, mdp) VALUES('$nom', '$prenom', '$email', '$mdp')");
						echo "Inscription rèussit !";
					
					}
				}
			}
		}
	} else {
	?>
	<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
	Formulaire d'inscription:
	<br />
	Nom: <input type="text" name="nom" />
	<br />
	Prenom: <input type="text" name="prenom" />
	<br />
	Email: <input type="text" name="email" />
	<br />
	Mot De¨Passe: <input type="password" name="mdp" />
	<br />
	<input type="submit" value="M'inscrire" />
	</form>
	<?php
	}
	?>



voila, bon bien entendu il te faut te connecter avant ; )
1
Romyyy Messages postés 78 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 3
5 janv. 2011 à 23:57
Merci pour ta reponse si rapide. Et comment passer par du php simple ? J'ai juste suivi l'exemple du site du zero...
0

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

Posez votre question
Merci de vos réponses. J'ai modifié mon code mais l'erreur est toujours présente... Voici mon code :

<meta http-esquiv="refresh" content="8"; URL="index.html">
<p>Merci à vous,<strong><?php echo $_post[prenom]; ?></strong>, d'avoir pris le temps de remplir ce formulaire d'inscription.</p>
<p>Un email de confirmation d'inscription vous a été envoyé à l'adresse "<?php echo $_post[email]; ?>".</p>
<p>Merci de cliquer sur le lien de confirmation pour valider votre inscription.</p>
<p><font color="#FF0000"><strong><U><a href="index.html">Cliquez ici pour retourner sur la page d'accueil.</a href></strong></u></font></p>
<?php
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
$req = $bdd->prepare('INSERT INTO membres(nom, prenom, email, mdp) VALUES(:nom, :prenom, :email, :mdp)');
$req->execute(array(
'nom' => $_post[nom]
'prenom' => $_post[prenom]
'email' => $_post[email]
'mdp' => $_post[pass]
));
?>
0
Romyyy Messages postés 78 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 28 mars 2011 3
6 janv. 2011 à 00:31
Donc je suis toujours bloque...
0