Petit annonce
- Accueil
- Forum
- Programmation
- PHP
- Petit annonce
alexis12web Le 15 avril 2017 à 17:37 (Édité le 25 janvier 2019 à 17:53)
J'ai donc commencé a coder seulement je ne comprend pas pourquoi les condition de fonctionne pas et donc il n'y a rien dans ma table.
De plus je n'ais aucune erreur qui s'affiche.
<?php
session_start();
try
{
$bdd = new PDO('mysql:host=127.0.0.1;dbname=siteweb', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e)
{
echo $e->getMessage();
}
if(isset($_POST['formannonce'])) {
$titre = htmlspecialchars($_POST['titre']);
$prix = htmlspecialchars($_POST['prix']);
$description = htmlspecialchars($_POST['description']);
$categorie = htmlspecialchars($_POST['categorie']);
$classe = htmlspecialchars($_POST['classe']);
$etat = htmlspecialchars($_POST['etat']);
$region = htmlspecialchars($_POST['region']);
$departement = htmlspecialchars($_POST['departement']);
$ville = htmlspecialchars($_POST['ville']);
$code_postale = htmlspecialchars($_POST['code_postale']);
if(!empty($_POST['titre']) AND !empty($_POST['prix']) AND !empty($_POST['description']) AND !empty($_POST['categorie']) AND !empty($_POST['classe']) AND !empty($_POST['etat']) AND !empty($_POST['region']) AND !empty($_POST['departement']) AND !empty($_POST['ville']) AND !empty($_POST['code_postale'])) {
if($titrelength <= 50) {
$insertmbr = $bdd->prepare("INSERT INTO annonce(titre, prix, description, categorie, classe, etat, region, departement, ville, code_postale, photo1) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$insertmbr->execute(array($titre, $prix, $description, $categorie, $classe, $etat, $region, $departement, $ville, $code_postale, "no_picture.jpeg"));
} else {
$erreur = "Votre titre ne doit pas dépasser 50 caractères !";
}
} else {
$erreur = "Tous les champs doivent être complétés !";
}
}
if(isset($_FILES['photo1']) AND !empty($_FILES['photo1']['name'])) {
$tailleMax = 2097152;
$extensionsValides = array('jpg', 'jpeg', 'gif', 'png');
if($_FILES['photo1']['size'] <= $tailleMax) {
$extensionUpload = strtolower(substr(strrchr($_FILES['photo1']['name'], '.'), 1));
if(in_array($extensionUpload, $extensionsValides)) {
$chemin = "annonce/photo1/".$_SESSION['id'].".".$extensionUpload;
$resultat = move_uploaded_file($_FILES['photo1']['tmp_name'], $chemin);
if($resultat) {
$updateavatar = $bdd->prepare('UPDATE membres SET photo1 = 😋hoto1 WHERE id = :id');
$updateavatar->execute(array(
'photo1' => $_SESSION['id'].".".$extensionUpload,
'id' => $_SESSION['id']
));
} else {
$msg = "Erreur durant l'importation de votre photo 1";
}
} else {
$msg = "Votre photo 1 doit être au format jpg, jpeg, gif ou png";
}
} else {
$msg = "Votre photo 1 ne doit pas dépasser 2Mo";
}
}
?>
<html>
<head>
<title>Annonce</title>
<meta charset="utf-8">
</head>
<body>
<TABLE align="center">
<p>
<label for="region">Région : </label>
<A>
<select id="region" name="region">
<OPTION value='' >Choisissez la région</OPTION>
<option value=1 >Alsace</option>
<option value=2 >Aquitaine</option>
<option value=3 >Auvergne</option>
<option value=4 >Basse Normandie</option>
<option value=5 >Bourgogne</option>
<option value=6 >Bretagne</option>
<option value=7 >Centre</option>
<option value=8 >Champagne-Ardenne</option>
<option value=9 >Corse</option>
<option value=10 >Franche Comte</option>
<option value=11 >Haute Normandie</option>
<option value=12 >Ile de France</option>
<option value=13 >Languedoc-Roussillon</option>
<option value=14 >Limousin</option>
<option value=15 >Lorraine</option>
<option value=16 >Midi-Pyrenees</option>
<option value=17 >Nord-Pas-de-Calais</option>
<option value=18 >Pays de la Loire</option>
<option value=19 >Picardie</option>
<option value=20 >Poitou-Charentes</option>
<option value=21 >Provence-Alpes-Cote-d-Azur</option>
<option value=22 >Rhone-Alpes</option>
</select>
</A>
</p>
<p>
<label for="departement">Département : </label>
<A id=departement_div><SELECT id="departement" name="departement">
<OPTION value='' >Choisissez le département</OPTION></SELECT>
</A>
</p>
<p>
<label for="categorie">Catégorie : </label>
<select name="categorie">
<option value="">Choisissez une catégorie</option>
<option value="voiture"> Voiture</option>
<option value="moto"> Moto</option>
<option value="quad"> Quad</option>
<option value="scooter"> Scooter</option>
<option value="agricole"> Agricole </optgroup>
<option value="bateau"> Bateau</option>
<option value="jet-ski"> Jet ski</option>
</select>
</p>
<p>
<label for="classe">Vous êtes un :</label>
Particulier <input id="classe" name="classe" value="Particulier" checked="checked" type="radio"> Professionnel <input id="classe" name="classe" value="Professionnel" type="radio">
</p>
<br>
<p>
<label for="ville">Ville :</label>
<input type="text" id="ville" name="ville" value="">
</p>
<p>
<label for="postal">Code postal : </label>
<input type="text" id="code_postale" name="code_postale" value="" maxlength="5">
</p>
<br><br>
<label>Photo n°1 :</label>
<input type="file" name="photo1">
<br /><br />
<p>
<label for="prix">Prix de l'objet :</label>
<input type="text" id="prix" name="prix" value="">
</p>
<p>
<label for="titre">Titre de l'annonce :</label>
<input type="text" id="titre" name="titre" value="" class="formchamp" maxlength="50">
</p>
<p>
<label for="description">Description de l'objet :</label>
<textarea id="description" name="description" class="textform" ></textarea>
</p>
<p>
<label for="etat">Etat de l'objet :</label>
<select id="etat" name="etat">
<option value="">Choisissez l'etat de l'objet</option>
<option value="Neuf" size="50">Neuf</option>
<option value="Comme neuf" size="50">Comme neuf</option>
<option value="Excellent" size="50">Excellent</option>
<option value="Très Bon Etat" size="50">Très Bon Etat</option>
<option value="Etat Correct" size="50">Etat Correct</option>
<option value="Bon Etat" size="50">Bon Etat</option>
<option value="Occasion" size="50">Occasion</option>
<option value="Occasion moyen" size="50">Occasion moyen</option>
<option value="Autre" size="50">Autre</option>
</select>
</p>
<form>
<p>
<label for="envoyer"></label>
<input type="submit" name="formannonce" id="formannonce" value="Envoyer">
<input type="reset" value="Effacer">
</p>
</form>
<p><br><br></p>
</TD>
</TR>
</TR>
</table>
</html>
voila ma BDD
Balatharas Le 15 avril 2017 à 22:32 (Édité le 1 janvier 1970 à 01:00)
C'est sur que si tu n'entoures pas tout tes inputs de balises form (sans oubliez "enctype='multipart/form-data'") bah rien ne va se passer
alexis12web Le 17 avril 2017 à 19:45 (Édité le 1 janvier 1970 à 01:00)
<html>
<head>
<title>Annonce</title>
<meta charset="utf-8">
</head>
<body>
<form enctype="multipart/form-data">
<TABLE align="center">
<p>
<label for="region">Région : </label>
<A>
<select id="region" name="region">
<OPTION value='' >Choisissez la région</OPTION>
<option value=1 >Alsace</option>
<option value=2 >Aquitaine</option>
<option value=3 >Auvergne</option>
<option value=4 >Basse Normandie</option>
<option value=5 >Bourgogne</option>
<option value=6 >Bretagne</option>
<option value=7 >Centre</option>
<option value=8 >Champagne-Ardenne</option>
<option value=9 >Corse</option>
<option value=10 >Franche Comte</option>
<option value=11 >Haute Normandie</option>
<option value=12 >Ile de France</option>
<option value=13 >Languedoc-Roussillon</option>
<option value=14 >Limousin</option>
<option value=15 >Lorraine</option>
<option value=16 >Midi-Pyrenees</option>
<option value=17 >Nord-Pas-de-Calais</option>
<option value=18 >Pays de la Loire</option>
<option value=19 >Picardie</option>
<option value=20 >Poitou-Charentes</option>
<option value=21 >Provence-Alpes-Cote-d-Azur</option>
<option value=22 >Rhone-Alpes</option>
</select>
</A>
</p>
<p>
<label for="departement">Département : </label>
<A id=departement_div><SELECT id="departement" name="departement">
<OPTION value='' >Choisissez le département</OPTION></SELECT>
</A>
</p>
<p>
<label for="categorie">Catégorie : </label>
<select name="categorie">
<option value="">Choisissez une catégorie</option>
<option value="voiture"> Voiture</option>
<option value="moto"> Moto</option>
<option value="quad"> Quad</option>
<option value="scooter"> Scooter</option>
<option value="agricole"> Agricole </optgroup>
<option value="bateau"> Bateau</option>
<option value="jet-ski"> Jet ski</option>
</select>
</p>
<p>
<label for="classe">Vous êtes un :</label>
Particulier <input id="classe" name="classe" value="Particulier" checked="checked" type="radio"> Professionnel <input id="classe" name="classe" value="Professionnel" type="radio">
</p>
<br>
<p>
<label for="ville">Ville :</label>
<input type="text" id="ville" name="ville" value="">
</p>
<p>
<label for="postal">Code postal : </label>
<input type="text" id="code_postale" name="code_postale" value="" maxlength="5">
</p>
<br><br>
<label>Photo n°1 :</label>
<input type="file" name="photo1">
<br /><br />
<p>
<label for="prix">Prix de l'objet :</label>
<input type="text" id="prix" name="prix" value="">
</p>
<p>
<label for="titre">Titre de l'annonce :</label>
<input type="text" id="titre" name="titre" value="" class="formchamp" maxlength="50">
</p>
<p>
<label for="description">Description de l'objet :</label>
<textarea id="description" name="description" class="textform" ></textarea>
</p>
<p>
<label for="etat">Etat de l'objet :</label>
<select id="etat" name="etat">
<option value="">Choisissez l'etat de l'objet</option>
<option value="Neuf" size="50">Neuf</option>
<option value="Comme neuf" size="50">Comme neuf</option>
<option value="Excellent" size="50">Excellent</option>
<option value="Très Bon Etat" size="50">Très Bon Etat</option>
<option value="Etat Correct" size="50">Etat Correct</option>
<option value="Bon Etat" size="50">Bon Etat</option>
<option value="Occasion" size="50">Occasion</option>
<option value="Occasion moyen" size="50">Occasion moyen</option>
<option value="Autre" size="50">Autre</option>
</select>
</p>
<form>
<p>
<label for="envoyer"></label>
<input type="submit" name="formannonce" id="formannonce" value="Envoyer">
<input type="reset" value="Effacer">
</p>
</form>
<p><br><br></p>
</TD>
</TR>
</TR>
</table>
</form>
</html>
TheOldNoob Le 17 avril 2017 à 20:02 (Édité le 1 janvier 1970 à 01:00)
Ah si, tu a une balise form autour de tes deux boutons, tu n'a pas besoin de les remettre dedans puisqu'ils sont déjà dans la balise form de ton formulaire.
alexis12web Le 18 avril 2017 à 18:50 (Édité le 18 avril 2017 à 18:50)
TheOldNoob Le 19 avril 2017 à 23:01 (Édité le 1 janvier 1970 à 01:00)
<form action="">
<input type="text">
<textarea name="" id="" cols="30" rows="10">
<select name="" id="">
<option value=""></option>
<option value=""></option>
<option value=""></option>
<option value=""></option>
<option value=""></option>
</select>
<submit>
</form>
Absolument tout tes input, et autre option pour ton utilisateur, ainsi que les boutons doivent être dans la balise form Balatharas Le 20 avril 2017 à 14:39 (Édité le 1 janvier 1970 à 01:00)
alexis12web Le 24 avril 2017 à 19:41 (Édité le 1 janvier 1970 à 01:00)
<!DOCTYPE>
<html>
<head>
<title>Annonce</title>
<meta charset="utf-8">
</head>
<body>
<div align="center">
<h2>Déposer un annonce</h2>
<form method="POST" action="" enctype="multipart/form-data">
<TABLE>
<tr>
<td align="right">
<label for="region">Région : </label>
</td>
<td>
<select id="region" name="region">
<OPTION value='' >Choisissez la région</OPTION>
<option value=1 >Alsace</option>
<option value=2 >Aquitaine</option>
<option value=3 >Auvergne</option>
<option value=4 >Basse Normandie</option>
<option value=5 >Bourgogne</option>
<option value=6 >Bretagne</option>
<option value=7 >Centre</option>
<option value=8 >Champagne-Ardenne</option>
<option value=9 >Corse</option>
<option value=10 >Franche Comte</option>
<option value=11 >Haute Normandie</option>
<option value=12 >Ile de France</option>
<option value=13 >Languedoc-Roussillon</option>
<option value=14 >Limousin</option>
<option value=15 >Lorraine</option>
<option value=16 >Midi-Pyrenees</option>
<option value=17 >Nord-Pas-de-Calais</option>
<option value=18 >Pays de la Loire</option>
<option value=19 >Picardie</option>
<option value=20 >Poitou-Charentes</option>
<option value=21 >Provence-Alpes-Cote-d-Azur</option>
<option value=22 >Rhone-Alpes</option>
</select>
</td>
</tr>
<tr>
<td align="right">
<label for="departement">Département : </label>
</td>
<td>
<A id=departement_div><SELECT id="departement" name="departement">
<OPTION value='' >Choisissez le département</OPTION></SELECT>
</A>
</td>
</tr>
<tr>
<td align="right">
<label for="categorie">Catégorie : </label>
</td>
<td>
<select name="categorie">
<option value="">Choisissez une catégorie</option>
<option value="voiture"> Voiture</option>
<option value="moto"> Moto</option>
<option value="quad"> Quad</option>
<option value="scooter"> Scooter</option>
<option value="agricole"> Agricole </optgroup>
<option value="bateau"> Bateau</option>
<option value="jet-ski"> Jet ski</option>
</select>
</td>
</tr>
<tr>
<td align="right">
<label for="classe">Vous êtes un :</label>
</td>
<td>
Particulier <input id="classe" name="classe" value="Particulier" checked="checked" type="radio"> Professionnel <input id="classe" name="classe" value="Professionnel" type="radio">
</td>
</tr>
<tr>
<td align="right">
<label for="ville">Ville :</label>
</td>
<td>
<input type="text" id="ville" name="ville" value="">
</td>
</tr>
<tr>
<td align="right">
<label for="postal">Code postal : </label>
</td>
<td>
<input type="text" id="code_postale" name="code_postale" value="" maxlength="5">
</td>
</tr>
<tr>
<td align="right">
<label>Photo n°1 :</label>
</td>
<td>
<input type="file" name="photo1">
</td>
</tr>
<tr>
<td align="right">
<label for="prix">Prix de l'objet :</label>
</td>
<td>
<input type="text" id="prix" name="prix" value="">
</td>
</tr>
<tr>
<td align="right">
<label for="titre">Titre de l'annonce :</label>
</td>
<td>
<input type="text" id="titre" name="titre" value="" class="formchamp" maxlength="50">
</td>
</tr>
<tr>
<td align="right">
<label for="description">Description de l'objet :</label>
</td>
<td>
<textarea id="description" name="description" class="textform" cols="30" rows="5"></textarea>
</td>
</tr>
<tr>
<td align="right">
<label for="etat">Etat de l'objet :</label>
</td>
<td>
<select id="etat" name="etat">
<option value="">Choisissez l'etat de l'objet</option>
<option value="Neuf" size="50">Neuf</option>
<option value="Comme neuf" size="50">Comme neuf</option>
<option value="Excellent" size="50">Excellent</option>
<option value="Très Bon Etat" size="50">Très Bon Etat</option>
<option value="Etat Correct" size="50">Etat Correct</option>
<option value="Bon Etat" size="50">Bon Etat</option>
<option value="Occasion" size="50">Occasion</option>
<option value="Occasion moyen" size="50">Occasion moyen</option>
<option value="Autre" size="50">Autre</option>
</select>
</td>
</tr>
<tr>
<td align="right">
<label for="envoyer"></label>
</td>
<td>
<input type="submit" name="formannonce" id="formannonce" value="Envoyer">
<input type="reset" value="Effacer">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
pouvez-vous m'aider ? TheOldNoob Le 24 avril 2017 à 20:11 (Édité le 1 janvier 1970 à 01:00)
Tu doit avoir un if ainsi qu'un message personnalisé d'erreur pour chaque condition. C'est le seul moyen de savoir d'ou l'erreur peu venir.
Ensuite, bon ok ça n'entre pas dans ta bdd, mais a tu un message d'erreur?
Sinon, il faut faire des var_dump
alexis12web Le 24 avril 2017 à 20:28 (Édité le 1 janvier 1970 à 01:00)
Balatharas Le 24 avril 2017 à 20:35 (Édité le 1 janvier 1970 à 01:00)
<?php
var_dump($var);
?>
Il te fait un retour auto alexis12web Le 24 avril 2017 à 21:03 (Édité le 1 janvier 1970 à 01:00)
if(isset($_POST['formannonce'])) {
$titre = htmlspecialchars($_POST['titre']);
$prix = htmlspecialchars($_POST['prix']);
$description = htmlspecialchars($_POST['description']);
$categorie = htmlspecialchars($_POST['categorie']);
$classe = htmlspecialchars($_POST['classe']);
$etat = htmlspecialchars($_POST['etat']);
$region = htmlspecialchars($_POST['region']);
$departement = htmlspecialchars($_POST['departement']);
$ville = htmlspecialchars($_POST['ville']);
$code_postale = htmlspecialchars($_POST['code_postale']);
var_dump($titre);
var_dump($prix);
var_dump($description);
var_dump($categorie);
var_dump($classe);
var_dump($etat);
var_dump($region);
var_dump($departement);
var_dump($ville);
var_dump($code_postale);
if(!empty($_POST['titre']) AND !empty($_POST['prix']) AND !empty($_POST['description']) AND !empty($_POST['categorie']) AND !empty($_POST['classe']) AND !empty($_POST['etat']) AND !empty($_POST['region']) AND !empty($_POST['departement']) AND !empty($_POST['ville']) AND !empty($_POST['code_postale'])) {
if($titrelength <= 50) {
$insertmbr = $bdd->prepare("INSERT INTO annonce(titre, prix, description, categorie, classe, etat, region, departement, ville, code_postale, photo1) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$insertmbr->execute(array($titre, $prix, $description, $categorie, $classe, $etat, $region, $departement, $ville, $code_postale, "no_picture.jpeg"));
} else {
$erreur = "Votre titre ne doit pas dépasser 50 caractères !";
}
} else {
$erreur = "Tous les champs doivent être complétés !";
}
}
du coup en haut a gauche s'affiche la valeur qui est entré ainsi que le nombre de mots alexis12web Le 26 avril 2017 à 20:17 (Édité le 26 avril 2017 à 20:18)
Balatharas Le 28 avril 2017 à 16:25 (Édité le 28 avril 2017 à 16:26)
$titrelength = strlen($titre);
[...] sachant qu'il y a marquer en bas (en attente de localhost ) ceci pendant un 1sec ?Aucun rapport. Le navigateur montre qu'il est en train de communiquer les infos que tu as rentrées au serveur.
D'autant plus que si tu cliques sur un lien quelconque tu verras en bas en attente de <site en question>
alexis12web Le 28 avril 2017 à 20:20 (Édité le 28 avril 2017 à 21:56)