Au secours probleme formulaire php
bretonm2004
Messages postés
319
Date d'inscription
Statut
Membre
Dernière intervention
-
SangokuSSJ4 Messages postés 443 Date d'inscription Statut Membre Dernière intervention -
SangokuSSJ4 Messages postés 443 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une question assez embetante
j'ai un formulaire pour entrer une annonce classée mais j'aimerait que quand un champ n'est pas rempli que ca ecrive N/D dans la base de donée
aidez moi svp
j'ai une question assez embetante
j'ai un formulaire pour entrer une annonce classée mais j'aimerait que quand un champ n'est pas rempli que ca ecrive N/D dans la base de donée
aidez moi svp
A voir également:
- Au secours probleme formulaire php
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
3 réponses
Il y a plusieurs méthodes pour faire ça.
Tu peux configurer la base de données pour mettre une valeur par défaut à ton champ. C'est à dire que si le champ n'est pas rempli, dans la base de données ça mettra une valeur "défaut" (en l'occurrence tu peux lui dire "N/D").
Pour le cas où tu ne pourrais pas modifier la base de données, alors un petit script php du genre
<?php
$monChamp = $_POST['monChamp'];
if($monChamp == null){
$texteAinsererDansBDD = "N/D";
}
else {
$texteAinsererDansBDD = $monChamp;
}
?>
Le principe est simple: tu fais un test pour vérifier si le champ est vide ou pas. Si il est vide, tu insère la chaine de caractère "N/D".
Mais très franchement, la première méthode est à mon avis la plus simple, et de plus elle n'utilisera pas les ressources du serveur apache.
Tu peux configurer la base de données pour mettre une valeur par défaut à ton champ. C'est à dire que si le champ n'est pas rempli, dans la base de données ça mettra une valeur "défaut" (en l'occurrence tu peux lui dire "N/D").
Pour le cas où tu ne pourrais pas modifier la base de données, alors un petit script php du genre
<?php
$monChamp = $_POST['monChamp'];
if($monChamp == null){
$texteAinsererDansBDD = "N/D";
}
else {
$texteAinsererDansBDD = $monChamp;
}
?>
Le principe est simple: tu fais un test pour vérifier si le champ est vide ou pas. Si il est vide, tu insère la chaine de caractère "N/D".
Mais très franchement, la première méthode est à mon avis la plus simple, et de plus elle n'utilisera pas les ressources du serveur apache.
Est-ce que tu as moyen de modifier la structure de ta base de données ? Genre tu as un accès PHPMyAdmin sur par exemple ? Si oui, alors tu peux mettre une valeur par défaut comme je t'ai dit, et dans ce cas-là pas de php à modifier, ça devrait être gèré automatiquement par la bdd.
Sinon tu vas devoir faire un if pour chacune de tes variables, par exemple pour $carburant:
if($_POST['carburant'] == null){
$carburant = "N/D";
} else {
$carburant = $_POST['carburant'];
}
Sinon tu vas devoir faire un if pour chacune de tes variables, par exemple pour $carburant:
if($_POST['carburant'] == null){
$carburant = "N/D";
} else {
$carburant = $_POST['carburant'];
}
Tu cliques pour modifier la structure de la table dans laquelle sont stockée les infos, puis lorsque tu as un écran de ce type: https://user.oc-static.com/files/219001_220000/219790.png tu rempli le champ "Defaut²"
Regarde cette doc: https://dev.mysql.com/doc/refman/8.0/en/data-type-defaults.html
change le type de la colonne: mets varchar au lieu de Text. Et dans la taille tu mets 255.
change le type de la colonne: mets varchar au lieu de Text. Et dans la taille tu mets 255.
<?php
//connection a la base de données
mysql_connect('localhost', 'xxxx', 'xxxx');
mysql_select_db("axxuto");
//récupération des variables du formulaire
if(isset($_POST['envoyer'])) {
$typedannonce=$_POST['typedannonce'];
$marque=$_POST['marque'];
$autres=$_POST['autres'];
$modele=$_POST['modele'];
$prix=$_POST['prix'];
$negociable=$_POST['negociable'];
$annee=$_POST['annee'];
$etat=$_POST['etat'];
$carburant=$_POST['carburant'];
$kilometrage=$_POST['kilometrage'];
$transmission=$_POST['transmission'];
$immatricule=$_POST['immatricule'];
$climatisation=$_POST['climatisation'];
$audio=$_POST['audio'];
$cylindre=$_POST['cylindre'];
$puissance=$_POST['puissance'];
$consommation=$_POST['consommation'];
$couleurinterieure=$_POST['couleurinterieure'];
$couleurexterieure=$_POST['couleurexterieure'];
$email=$_POST['email'];
$message=$_POST['message'];
$date= date('d-m-Y');
$i=0; $v=0; for($j=0; $j<7; $j++) { $image[$j]=''; $fn[$j]=''; }
if(!empty($_FILES['image1']['tmp_name'])) { $image[$i]=$_FILES['image1']; $i++; }
if(!empty($_FILES['image2']['tmp_name'])) { $image[$i]=$_FILES['image2']; $i++; }
if(!empty($_FILES['image3']['tmp_name'])) { $image[$i]=$_FILES['image3']; $i++; }
if(!empty($_FILES['image4']['tmp_name'])) { $image[$i]=$_FILES['image4']; $i++; }
if(!empty($_FILES['image5']['tmp_name'])) { $image[$i]=$_FILES['image5']; $i++; }
//INSERTION DE la requête sql
$sql='INSERT INTO avendrenonpubliee(id, typedannonce, marque, autres, modele, prix, negociable, annee, etat, carburant, kilometrage, transmission, immatricule, climatisation, audio, cylindre, puissance, consommation, couleurinterieure, couleurexterieure, email, message, date, image1, image2, image3, image4, image5) VALUES("","'.$typedannonce.'","'.$marque.'","'.$autres.'","'.$modele.'","'.$prix.'","'.$negociable.'","'.$annee.'","'.$etat.'","'.$carburant.'","'.$kilometrage.'","'.$transmission.'","'.$immatricule.'","'.$climatisation.'","'.$audio.'","'.$cylindre.'","'.$puissance.'","'.$consommation.'","'.$couleurinterieure.'","'.$couleurexterieure.'","'.$email.'","'.$message.'","'.$date.'","'.$fn[0].'","'.$fn[1].'","'.$fn[2].'","'.$fn[3].'","'.$fn[4].'")';
mysql_query($sql) or die(mysql_error());
$idinsert=mysql_insert_id();
//AJOUT DES IMAGES
for($j=0; $j<$i; $j++) {
list($width, $height, $type, $attr)=getimagesize($image[$j]['tmp_name']);
if($image[$j]['size']>524288 && !$image[$j]['error'])
exit('Le fichier ne doit pas depasser 500 ko');
if(empty($error)) {
if(move_uploaded_file($image[$j]['tmp_name'], '/home/auto7837/public_html/photos/avendrenp/'.$idinsert.'-'.$v.'.jpg')) {
$fn[$v]=$idinsert.'-'.$v.'.jpg';
$v++;
}
unset($image[$j]['tmp_name']);
}
}
// on modifie les images sur la requete
mysql_query('UPDATE avendrenonpubliee SET image1="'.$fn[0].'", image2="'.$fn[1].'", image3="'.$fn[2].'", image4="'.$fn[3].'", image5="'.$fn[4].'" WHERE id="'.$idinsert.'"'); ?>
<script type="text/javascript">
location.replace('avendreprevisualisation.php');
</script>
<?
}
else
{
?>
ou doisje mettre ce bout de code merci
//connection a la base de données
mysql_connect('localhost', 'xxxx', 'xxxx');
mysql_select_db("axxuto");
//récupération des variables du formulaire
if(isset($_POST['envoyer'])) {
$typedannonce=$_POST['typedannonce'];
$marque=$_POST['marque'];
$autres=$_POST['autres'];
$modele=$_POST['modele'];
$prix=$_POST['prix'];
$negociable=$_POST['negociable'];
$annee=$_POST['annee'];
$etat=$_POST['etat'];
$carburant=$_POST['carburant'];
$kilometrage=$_POST['kilometrage'];
$transmission=$_POST['transmission'];
$immatricule=$_POST['immatricule'];
$climatisation=$_POST['climatisation'];
$audio=$_POST['audio'];
$cylindre=$_POST['cylindre'];
$puissance=$_POST['puissance'];
$consommation=$_POST['consommation'];
$couleurinterieure=$_POST['couleurinterieure'];
$couleurexterieure=$_POST['couleurexterieure'];
$email=$_POST['email'];
$message=$_POST['message'];
$date= date('d-m-Y');
$i=0; $v=0; for($j=0; $j<7; $j++) { $image[$j]=''; $fn[$j]=''; }
if(!empty($_FILES['image1']['tmp_name'])) { $image[$i]=$_FILES['image1']; $i++; }
if(!empty($_FILES['image2']['tmp_name'])) { $image[$i]=$_FILES['image2']; $i++; }
if(!empty($_FILES['image3']['tmp_name'])) { $image[$i]=$_FILES['image3']; $i++; }
if(!empty($_FILES['image4']['tmp_name'])) { $image[$i]=$_FILES['image4']; $i++; }
if(!empty($_FILES['image5']['tmp_name'])) { $image[$i]=$_FILES['image5']; $i++; }
//INSERTION DE la requête sql
$sql='INSERT INTO avendrenonpubliee(id, typedannonce, marque, autres, modele, prix, negociable, annee, etat, carburant, kilometrage, transmission, immatricule, climatisation, audio, cylindre, puissance, consommation, couleurinterieure, couleurexterieure, email, message, date, image1, image2, image3, image4, image5) VALUES("","'.$typedannonce.'","'.$marque.'","'.$autres.'","'.$modele.'","'.$prix.'","'.$negociable.'","'.$annee.'","'.$etat.'","'.$carburant.'","'.$kilometrage.'","'.$transmission.'","'.$immatricule.'","'.$climatisation.'","'.$audio.'","'.$cylindre.'","'.$puissance.'","'.$consommation.'","'.$couleurinterieure.'","'.$couleurexterieure.'","'.$email.'","'.$message.'","'.$date.'","'.$fn[0].'","'.$fn[1].'","'.$fn[2].'","'.$fn[3].'","'.$fn[4].'")';
mysql_query($sql) or die(mysql_error());
$idinsert=mysql_insert_id();
//AJOUT DES IMAGES
for($j=0; $j<$i; $j++) {
list($width, $height, $type, $attr)=getimagesize($image[$j]['tmp_name']);
if($image[$j]['size']>524288 && !$image[$j]['error'])
exit('Le fichier ne doit pas depasser 500 ko');
if(empty($error)) {
if(move_uploaded_file($image[$j]['tmp_name'], '/home/auto7837/public_html/photos/avendrenp/'.$idinsert.'-'.$v.'.jpg')) {
$fn[$v]=$idinsert.'-'.$v.'.jpg';
$v++;
}
unset($image[$j]['tmp_name']);
}
}
// on modifie les images sur la requete
mysql_query('UPDATE avendrenonpubliee SET image1="'.$fn[0].'", image2="'.$fn[1].'", image3="'.$fn[2].'", image4="'.$fn[3].'", image5="'.$fn[4].'" WHERE id="'.$idinsert.'"'); ?>
<script type="text/javascript">
location.replace('avendreprevisualisation.php');
</script>
<?
}
else
{
?>
ou doisje mettre ce bout de code merci