Problème modification article base de données
- Accueil
- Forum
- Programmation
- PHP
- Problème modification article base de données
thrall-x Le 13 juin 2017 à 11:54 (Édité le 25 janvier 2019 à 17:53)
m’étant servi du tuto de "création et modification d'article" pour un site d'armurier afin de rentrer mes articles arme, munition, accessoire, etc... . je coince sur la modification ca ne fonctionne pas. je vois bien les articles à modifier mais la modif ne se fait pas
voici le php pour la table arme
<?php
include('include/connect.php');
$mode_edition = 0;
if(isset($_GET['edit']) AND !empty($_GET['edit'])) {
$mode_edition = 1;
$edit_id = htmlspecialchars($_GET['edit']);
$edit_article = $bdd->prepare('SELECT * FROM armes WHERE id = ?');
$edit_article->execute(array($edit_id));
if($edit_article->rowCount() == 1) {
$edit_article = $edit_article->fetch();
} else {
die('Erreur : l\'article n\'existe pas...');
}
}
if(isset($_POST['type'], $_POST['marque'], $_POST['reference'], $_POST['calibre'], $_POST['caracteristiques'], $_POST['categorie'], $_POST['prix_TTC'])) {
if(!empty($_POST['type'] AND $_POST['marque']) AND !empty($_POST['reference']) AND !empty($_POST['calibre']) AND !empty($_POST['caracteristiques']) AND !empty($_POST['categorie']) AND !empty($_POST['prix_TTC'])) {
$type = htmlspecialchars($_POST['type']);
$marque = htmlspecialchars($_POST['marque']);
$reference = htmlspecialchars($_POST['reference']);
$calibre = htmlspecialchars($_POST['calibre']);
$caracteristiques = htmlspecialchars($_POST['caracteristiques']);
$categorie = htmlspecialchars($_POST['categorie']);
$prix_TTC = htmlspecialchars($_POST['prix_TTC']);
if($mode_edition == 0) {
//var_dump($_FILES);
//var_dump(exif_imagetype($_FILES['miniature']['tmp_name']));
$ins = $bdd->prepare('INSERT INTO armes(type, marque, reference, calibre, caracteristiques, categorie, prix_TTC) VALUES (?, ?, ?, ?, ?, ?, ?)');
$ins->execute(array($type, $marque, $reference, $calibre, $caracteristiques, $categorie, $prix_TTC));
$lastid = $bdd->lastInsertId();
if(isset($_FILES['miniature']) AND !empty($_FILES['miniature']['name'] )) {
if(exif_imagetype($_FILES['miniature']['tmp_name']) == 2) {
$chemin = 'miniatures/armes/'.$lastid.'.jpg';
move_uploaded_file($_FILES['miniature']['tmp_name'], $chemin);
{
}
}
}
else {
$message = 'Votre image doit être au format jpg';
}
}
$message = 'Votre article a bien été posté';
} else {
$update = $bdd->prepare('UPDATE armes SET type=?, marque=?, reference=?, calibre=?, caracteristiques=?, categorie=?, prix_TTC=?, WHERE id = ?');
$update->execute(array($type, $marque, $reference, $calibre, $caracteristiques, $categorie, $prix_TTC, $edit_id));
header('Location: http://127.0.0.1/preview.php?id='.$edit_id);
$message = 'Votre article a bien été mis à jour !';
}
} else {
$message = 'Veuillez remplir tous les champs';
}
?>
et voici le formulaire html
<form method="POST" enctype="multipart/form-data">
<label for="type">Type d'arme :</label>
<SELECT name="type" size="1">
<OPTION>Pistolet
<OPTION>Revolver
</optgroup>
<optgroup label="CARABINES">
<OPTION>CARABINE Express
<OPTION>CARABINE Kipplauf
<OPTION>CARABINE à Levier sous-garde
<OPTION>CARABINE Mixte & Drilling
<OPTION>CARABINE à Pompe
<OPTION>CARABINE à Réarmement linéaire
<OPTION>CARABINE Semi-automatique
<OPTION>CARABINE à Verrou
</optgroup>
<optgroup label="FUSILS">
<OPTION>FUSIL Juxtaposé
<OPTION>FUSIL à Levier sous-garde
<OPTION>FUSIL Mono-canon
<OPTION>FUSIL à Pompe
<OPTION>FUSIL Semi-automatique
<OPTION>FUSIL Superposés
</SELECT><?php if($mode_edition == 1) { ?> value="<?=$edit_article['type'] ?>"<?php } ?> <br />
<label for="marque">Marque :</label>
<input type="text" name="marque" placeholder="Marque"<?php if($mode_edition == 1) { ?> value="<?=
$edit_article['marque'] ?>"<?php } ?> /><br />
<label for="reference">Reference :</label>
<input type="text" name="reference" placeholder="reference"<?php if($mode_edition == 1) { ?> value="<?=
$edit_article['reference'] ?>"<?php } ?> /><br />
<label for="calibre">Calibre :</label>
<input type="text" name="calibre" placeholder="calibre"<?php if($mode_edition == 1) { ?> value="<?=
$edit_article['calibre'] ?>"<?php } ?> /><br />
<label for="caracteristiques">Caracteristiques :</label>
<textarea name="caracteristiques" placeholder="caracteristiques"><?php if($mode_edition == 1) { ?><?=
$edit_article['caracteristiques'] ?><?php } ?></textarea><br />
<br />
<label for="categorie">Categorie :</label>
<SELECT name="categorie" size="1">
<OPTION>A
<OPTION>B
<OPTION>C
<OPTION>D
</SELECT><?php if($mode_edition == 1) { ?> value="<?=$edit_article['categorie'] ?>"<?php } ?> <br />
<label for="prix_TTC">Prix de Vente TTC :</label>
<input type="text" name="prix_TTC" placeholder="prix_TTC"<?php if($mode_edition == 1) { ?> value="<?=
$edit_article['prix_TTC'] ?>"<?php } ?> /><br />
<?php if($mode_edition == 0) { ?>
<input type="file" name="miniature" /><br />
<?php } ?>
<input type="submit" value="Inscrire l'article" />
</form>
<br />
<?php if(isset($message)) { echo $message; } ?>
thrall-x Le 14 juin 2017 à 14:12 (Édité le 1 janvier 1970 à 01:00)
tout fonctionne