Php +formulaire

Résolu
damien35 Messages postés 85 Statut Membre -  
damien35 Messages postés 85 Statut Membre -
Bonjour,

j'ai besoin de votre aide j ai un formulaire qui fonctionne a moitié en fait je voudrai ke mes données soient enregistrées dans ma base mysql seulement si tous les champs sont remplis! Seulement mes données s'enregistrent dans la base meme si je met qu'une donné dans le formulaire. j'ai utilisé la fonction empty mais ca change rien on m'a parlé d'une fonction trim mais jai pas tout saisi

aidez moi please voici mon script :

<?php

mysql_connect("localhost", "root", "")OR die('Erreur de sélection de la base');
mysql_select_db("camping")OR die('Erreur de sélection de la base');
//{ => inutile

$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$codepostal = $_POST['codepostal'];
$ville = $_POST['ville'];
$telephone = $_POST['telephone'];
$mail = $_POST['mail'];
$message = $_POST['message'];

if(empty($nom) && ($prenom) && empty($adresse) && empty($codepostal) && empty($ville) && empty($telephone) && empty($mail) && empty($message))
{
echo ("il y a un champ vide");
}else
{
echo ("champs bien remplies");

}



if ( trim ( $var ) == '' ) { // dans le cas où la variable est vide
echo 'vide';
} else {
echo 'contenu';
}



$req=mysql_query('INSERT INTO clients (nom, prenom, adresse, codepostal, ville, telephone, mail, message) VALUES("'.$nom.'", "' .$prenom.'", "'.$adresse.'", "'.$codepostal.'", "'.$ville.'", "'.$telephone.'", "'.$mail.'", "'.$message.'")') or die (mysql_error());
if($req)
{
echo 'enregisttrement reussi';
}
else
{
echo' un probleme est survenu<br/>'.$req;
}



mysql_close ();
?>
A voir également:

5 réponses

Ki!l Messages postés 100 Statut Membre 36
 
Il faut exécuter la requête seulement si la condition est vérifier
essaie avec le suivant:

if(empty($nom) && ($prenom) && empty($adresse) && empty($codepostal) && empty($ville) && empty($telephone) && empty($mail) && empty($message))
{
echo ("il y a un champ vide");
}else
{
$req=mysql_query('INSERT INTO clients (nom, prenom, adresse, codepostal, ville, telephone, mail, message) VALUES("'.$nom.'", "' .$prenom.'", "'.$adresse.'", "'.$codepostal.'", "'.$ville.'", "'.$telephone.'", "'.$mail.'", "'.$message.'")') or die (mysql_error());
if($req)
{
echo 'enregisttrement reussi';
}
else
{
echo' un probleme est survenu<br/>'.$req;
}
echo ("champs bien remplies");

}
1
Infoms Messages postés 48 Statut Membre 16
 
tu peut controler votre formulaire avec le java script avant d'envoyer les infos au base, a mon avie c'est plus simple et assurées
mai pour votre solution au fin l'orsque tu vas inseree les valeur dans le tableu tu doive le remplacer par ça :
$req=mysql_query("INSERT INTO clients VALUES('$nom','$prenom','$adresse','$codepostal','.$ville.','$telephone','.$mail','$message')") or die (mysql_error());
dans value en utilise "" selement et non ."". car le point associer pour la concatunation situ aura un autre prob ma rappeler
0
togodo Messages postés 155 Statut Membre 8
 
Ce n'est pas des && mais des || à utiliser.

Si au moins un champ (ou inclusive) est vide alors tu ne fais rien.

Or la tu dis si tout les champs sont vides (et) alors tu ne fais rien.Et si tu as au minimum un champ rempli alors tu enregistres.

Logique ;)
0
P@t@ch0n Messages postés 603 Statut Membre 85
 
Tu peut controler votre formulaire avec le java script avant d'envoyer les infos au base, a mon avie c'est plus simple et assurées

Non, non, et non.
Le javascript permet oui de faire un pré-controle des valeurs saisies par l'utilisateur afin de lui épargner le rechargement de la page en cas d'erreur, mais il n'est en rien un gage de sécurité.

Il est primordial de controler les valeurs cotés serveur.
0

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

Posez votre question
damien35 Messages postés 85 Statut Membre
 
merci pour vos réponses ca fonctionne!!

la solution :

<?php

mysql_connect("localhost", "root", "")OR die('Erreur de sélection de la base');
mysql_select_db("camping")OR die('Erreur de sélection de la base');


$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$codepostal = $_POST['codepostal'];
$ville = $_POST['ville'];
$telephone = $_POST['telephone'];
$mail = $_POST['mail'];
$message = $_POST['message'];

if(empty($nom) || ($prenom) || empty($adresse) || empty($codepostal) || empty($ville) || empty($telephone) || empty($mail) || empty($message))
{
echo ("Remplissez tous les champs du formulaire s'il vous plaît");
}
else
{
$req=mysql_query('INSERT INTO clients (nom, prenom, adresse, codepostal, ville, telephone, mail, message) VALUES("'.$nom.'", "' .$prenom.'", "'.$adresse.'", "'.$codepostal.'", "'.$ville.'", "'.$telephone.'", "'.$mail.'", "'.$message.'")') or die (mysql_error());
if($req)
{
echo 'Vos données ont bien été enregistrées';
}
else
{
echo' un probleme est survenu<br/>'.$req;
}
echo ("champs bien remplies");

}
?>
0