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
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
A voir également:
- Au secours probleme formulaire php
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Formulaire instagram compte suspendu - Guide
- Le formulaire rempli - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
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
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.
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.
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
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'];
}
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'];
}
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
27 juil. 2010 à 01:46
ah ouais oui j ai acces aphpmyadmin comment je doit faire pour mettre une valeur par defaut
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
27 juil. 2010 à 01:50
dois je mettre (tel que défini) (NULL) ou (CURRENT_TIMESTAMP)
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
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²"
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
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
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
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
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.
change le type de la colonne: mets varchar au lieu de Text. Et dans la taille tu mets 255.
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
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
//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