Formulaire PHP

cs_idelphonse Messages postés 17 Date d'inscription mercredi 1 juin 2005 Statut Membre Dernière intervention 18 juillet 2007 - 19 août 2006 à 18:02
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 - 19 août 2006 à 18:36
bonjour,
J'essaiye de créer un formulaire sur un site en connstruction et j'ai les problémes suivants.
je dispose de 4 champs sur le formulaire(nom, prenom,service,et commentaire) et d'un bouton (envoyer).
 dans ma base de données Mysql; à ces quatres champs précédents j'ajoutent le champ "code" qui est la clé primaire de la table qui s'autoincrémente.
1-) dans ma logique , quand on clic sur le bouton "envoyer", les valeurs données aux champs sur le formulaire iront dans la table mysql.
2-) lorsque l'on a pas renseigné tous les champs du formulaire et qu'on clic sur le bouton "envoyer",un  message correspondant s'affiche.
3-)lorsque quelqu'un s'enregistre correctement; je voudrais qu'un message de remerciement s'affiche avec au départ son nom et son prénom sur la même page.
voici mon code svp.
<?php session_start() ?>
<?php
if (isset($_POST['envoyer'])) {
    $nom= $_POST['nom'];
    $prenoms=$_POST['prenoms'];
    $service=$_POST['service'];
    $commentaire=$_POST['commentaire'];
    if (empty($nom) or empty($prenoms) or empty($sevice) or empty($commentaire))  {
       echo(''.'Renseignez sur tous les champs : "nom", "prenoms", "service", "critiques & suggestions" SVP'.'');
      
      
$_SESSION['nom1']=$nom;
$_SESSION['prenoms1']=$prenoms;
$db=mysql_connect('localhost','root','');
mysql_select_db('services',$db);
$sql1="insert into commentaire(nom,prenoms,service,commentaire)
values(
'$nom','$prenoms','$service','$commentaire'
)";
$req1=mysql_query($sql1);
session_write_close();
 
      
    }  
?>
j'avoue que pour la récupération des variables session pour l'affichage du message du 3ème point , je ne sais pas le faire.
voici mes questions proprement dit:
a-) quand on renseigne correctement les champs et qu'on clic sur "envoyer", il envoie les données dans la table mais envoie toujours le message comme si on a pas rempli tous les champs du formulaire.
b-)quand on ne rempli pas les champs du formulaire et qu'on clic sur "envoyer"; il affiche le message comme cela se doit mais insert un enregistrement vide dans la table sous mysql.
c-)  pour les variables sessions et la redirection vers la même page ; je n'ai pas faire grand chose.

aidez moi
merci d'avance.

1 réponse

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
19 août 2006 à 18:36
Salut,
déjà enlève les parenthès autour des echos, pas  besoin.
Sinon il manque une accolade fermante }

tu dois faire :

if(isset($_POST['prenoms']) and isset($_POST['noms']) and .....){

    ...........

    $sql1="insert into commentaire(nom,prenoms,service,commentaire)
                    values( '$_POST['noms']', '$_POST['prenoms']', ......)";
    ............

    echo 'c\'est bon';
}
else {
    .........il manque des champs ..............

    echo 'pas bon';
}

à+
0
Rejoignez-nous