Au secours probleme formulaire php

Fermé
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 - 27 juil. 2010 à 01:05
SangokuSSJ4 Messages postés 443 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 30 janvier 2013 - 27 juil. 2010 à 02:50
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



A voir également:

3 réponses

SangokuSSJ4 Messages postés 443 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 30 janvier 2013 47
27 juil. 2010 à 01:19
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.
1
SangokuSSJ4 Messages postés 443 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 30 janvier 2013 47
27 juil. 2010 à 01:42
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'];
}
1
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
27 juil. 2010 à 01:46
ah ouais oui j ai acces aphpmyadmin comment je doit faire pour mettre une valeur par defaut
0
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
27 juil. 2010 à 01:50
dois je mettre (tel que défini) (NULL) ou (CURRENT_TIMESTAMP)
0
SangokuSSJ4 Messages postés 443 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 30 janvier 2013 47
27 juil. 2010 à 01:52
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²"
0
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
27 juil. 2010 à 01:57
ALTER TABLE 'avendrenonpubliee' CHANGE 'marque' 'marque' TEXT CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT 'SO'

MySQL a répondu:

#1101 - BLOB/TEXT column 'marque' can't have a default value

voila ce que j ai quand j essaie de mettre une valeur par defaut
0
SangokuSSJ4 Messages postés 443 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 30 janvier 2013 47
Modifié par SangokuSSJ4 le 27/07/2010 à 02:43
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.
0
bretonm2004 Messages postés 319 Date d'inscription vendredi 9 mai 2008 Statut Membre Dernière intervention 30 août 2013 2
27 juil. 2010 à 01:22
<?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
0