Healiste
Messages postés11Date d'inscriptionjeudi 31 mars 2011StatutMembreDernière intervention 9 mai 2013
-
29 mai 2012 à 15:50
Healiste
Messages postés11Date d'inscriptionjeudi 31 mars 2011StatutMembreDernière intervention 9 mai 2013
-
30 mai 2012 à 09:08
Bonjour, voilà, j'ai un problème sur un projet en cours. Je dois créer une newsletter pour ma mairie. J'ai donc fait une page html avec formulaire simple pour le moment.
Et voici le code de la page "inscription.php"
<?php
/* Etablissement d'une connexion à la base de donnée */
$cnx = odbc_connect("basededonnee", "", ""); /* Connexion à la base de donnée */
$requete = "select * from adherent";
$jeu = odbc_do($cnx, $requete);
if($cnx) echo 'ok
'; //Si connexion, il y a !
/* Initialisation des variables à false */
$bool=false; /* Validation de l'e-mail Bouton à cocher dans le formulaire */
// On rend inoffensives les balises HTML que le visiteur a pu rentrer
$nom=htmlspecialchars($_POST['nom']);
$prenom=htmlspecialchars($_POST['prenom']);
$mail=htmlspecialchars($_POST['mail']);
/* On vérifie si le mail n'existe pas déjà dans la BD */
while(odbc_fetch_into($jeu,$champ))
{
if($mail == $champ[2])
$bool=true; /* Le booléen devient vrai lorsque la condition est vérifiée */
}
/* Si le mail n'existe pas, on poursuit la création du compte */
if(!$bool) {
if (isset($_POST["mail"])) {
if (!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $mail))
echo 'L\'adresse '.$mail.' n\'est pas valide, recommencez !';
}
/* Si on a connaissance du prénom et du nom, soit, champ non vide */
if ((isset($prenom)) && (isset($nom))) {
/* REMARQUE: Le mail a obligatoirement été entré, d'où le REQUIRED dans le code HTML */
/* On crée un compte avec tous les champs remplis */
$requete="insert into adherent (prenom, nom, mail, newsletter) values ('".$prenom."','".$nom."','".$mail."',"$_POST["newsletter"].");";
/* Si on a connaissance du prénom mais pas du nom */
} elseif ((isset($prenom)) && (!isset($nom)))
$requete="insert into adherent (prenom, mail, newsletter) values ('".$prenom."','".$mail."',".$_POST["newsletter"].");";
/* Si on a connaissance du nom mais pas du prénom */
elseif ((!isset($prenom)) && (isset($prenom)))
$requete="insert into adherent (nom, mail, newsletter) values ('".$nom."','".$mail."',".$_POST["newsletter"].");";
/* Si on a connaissance ni du prénom, ni du nom */
else
$requete="insert into adherent (mail, newsletter) values ('".$mail."',".$_POST["newsletter"].");";
} else
echo 'Compte déjà existant !';
odbc_close($cnx); // ferme la connexion
?>
Mon problème est que lorsque je clique sur continuer, il me met un message d'erreur pour la ligne:
$requete="insert into adherent (prenom, nom, mail, newsletter) values ('".$prenom."','".$nom."','".$mail."',"$_POST["newsletter"].");";
Parse error: syntax error, unexpected T_VARIABLE in C:\wamp\www\site internet\inscription.php on line 48
Je suis peut-être idiot mais je ne vois pas où est mon erreur.
Pourtant, la connexion est bonne, la requete d'ajout aussi, juste le bouton décocher qui me fait des siennes quand j'essaye de faire un
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 29 mai 2012 à 18:53
Bonjour,
$requete="insert into adherent (prenom, nom, mail, newsletter) values ('".$prenom."','".$nom."','".$mail."',"$_POST["newsletter"].");";
Tu as oublié un . devant ton $_POST.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
Healiste
Messages postés11Date d'inscriptionjeudi 31 mars 2011StatutMembreDernière intervention 9 mai 2013 30 mai 2012 à 08:12
Merci NHenry, j'ai rectifié ça mais le problème persiste toujours. L'ajout dans la base de donnée ne veut pas se faire. Pourtant, les variables ont l'air correcte et en plus, même les echo que j'insère dans le if (nom [...] prenom) apparaissent donc le problème ne peut venir que de la requête.
De plus, j'ai tenté de créer un "compte" avec un mail déjà existant dans la base, ajouté par mes mains directement et il le détecte bien et affiche 'Mail déjà existant !'.
Pour répondre à abdoulax, oui lol Mais on vit avec... Surtout quand on vit dans un endroit encore plus paumé que La Gacilly.
Florent C.
Vous n’avez pas trouvé la réponse que vous recherchez ?