Fonction update qui fontionne pas
Fermé
satoshioctav
Messages postés
7
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
salut!
je bug sur un problème,ma fonction update ne fonctionne pas et je sais pas pourquoi voici le code
EDIT : Ajout des balises de code
merci de votre aides
je bug sur un problème,ma fonction update ne fonctionne pas et je sais pas pourquoi voici le code
public function update(blog $blog)
{
$req = $this->db->prepare('UPDATE `blog` SET `auteur`= :auteur, `titre`=:titre, `contenu`=:contenu WHERE `id`= :id');
$req->bindValue(':auteur',$blog->auteur());
$req->bindValue(':titre',$blog->titre());
$req->bindValue(':contenu',$blog->contenu());
$req->bindValue(':id',$blog->id(), PDO::PARAM_INT);
$req->execute();
}
EDIT : Ajout des balises de code
merci de votre aides
A voir également:
- Fonction update qui fontionne pas
- Fonction si et - Guide
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Fonction miroir - Guide
3 réponses
Bonjour,
Déjà Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Merci d'y penser à l'avenir.
Ensuite, vu que tu fais du PDO.. gère les éventuelles erreurs ... https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Déjà Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Merci d'y penser à l'avenir.
Ensuite, vu que tu fais du PDO.. gère les éventuelles erreurs ... https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
if (isset($_GET['modifier']))
{
$blog = new blog($_POST['auteur'],$_POST['titre'],$_POST['contenu']);
$bb = $manager->update($blog);
}
Il n'y a rien qui te choque ici ?
$_GET ou $_POST il faut choisir !
je vous partage tout mon code
<?php
require 'blog.php';
require 'managerblog.php';
try
{
$db = new PDO('mysql:host=localhost;dbname=test;charset = utf8','root','');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$manager = new manager($db);
$blog = NULL;
if (isset($_GET['modifier']))
{
$blog = $manager->getunique((int)$_GET['modifier']);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>mon blog</title>
</head>
<body>
<form action="adminsblog.php" method="post" >
<label>auteur</label> <input type="text" name="auteur"
<?php
if($blog){
?>
value="<?php echo($blog->auteur())?>"
<?php
}
else
{ ?>
placeholder="auteur"
<?php
}
?>
>
<label>titre</label> <input type="text" name="titre"
<?php
if($blog){
?>
value="<?php echo($blog->titre())?>"
<?php
}
else
{ ?>
placeholder="titre"
<?php
}
?>
>
<label>contenu</label> <textarea rows="8" cols="60" name="contenu" >
<?php
if($blog){
echo($blog->contenu());
}
?>
</textarea>
<?php
if($blog){
?>
<input type="hidden" name="id" value="<?php echo $blog->id(); ?>">
<?php
}
?>
<input type="submit" name="action"
<?php
if($blog)
echo 'value="Modifier"';
else
echo 'value="Ajouter"';
?>
">
</form>
<?php
if(isset($_POST["action"]))
{
if(isset($_POST['auteur'])&& !empty($_POST['auteur']) && isset($_POST['titre'])&& !empty($_POST['titre']) && isset($_POST['contenu'])&& !empty($_POST['contenu']) )
{
if($_POST['action'] == "Modifier")
{
if (isset($_GET['modifier']))
{
$blog = new blog($_POST['auteur'],$_POST['titre'],$_POST['contenu']);
$manager->update($blog);
}
$blog = new blog($_POST['auteur'],$_POST['titre'],$_POST['contenu']);
var_dump($manager->update($blog));
}
elseif($_POST['action'] == "Ajouter")
{
$blog = new blog($_POST['auteur'],$_POST['titre'],$_POST['contenu']);
$manager->add($blog);
echo 'la new a bien été ajouter ';
}
else
{
echo 'la new n\'est pas valide';
}
}
else
{
echo "L'article est incomplet veuillez renseigner tous les champs";
}
}
// $blog->setDateAjout(new DateTime($blog->dateAjout()));
if (isset($_GET['supprimer']))
{
$blog = $manager->delete((int)$_GET['supprimer']);
echo 'le billet a bien été supprimer';
}
$blogs = $manager->getlist(10);
?>
<table>
<tr>
<th>auteur</th>
<th>titre</th>
<th>date d'ajout</th>
<th>action</th>
</tr>
<?php
foreach ($blogs as $blog) {
?>
<tr>
<td><?php echo $blog->auteur();?></td>
<td><?php echo $blog->titre();?></td>
<td><?php echo $blog->dateAjout();?></td>
<td></td>
<td><a href="?modifier=<?php echo $blog->id(); ?>">modifier</a> | <a href="?supprimer=<?php echo $blog->id(); ?>">supprimer</a></td>
</tr>
<?php
}
//
?>
</table>
</body>
</html>
Bon...
je te redonne ces quelques conseils à lire : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Je pense que ça te sera des plus utils...
- Ensuite, suite aux remarques de mes collègues.... as tu essayé de voir ce que contenait ta variable
$_GET et ta variable $_POST lorsque tu envoies pour modification ??
- Es-tu sûr d'entré dans ton IF ???? ( places y un echo voir si il s'affiche...).
je te redonne ces quelques conseils à lire : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Je pense que ça te sera des plus utils...
- Ensuite, suite aux remarques de mes collègues.... as tu essayé de voir ce que contenait ta variable
$_GET et ta variable $_POST lorsque tu envoies pour modification ??
- Es-tu sûr d'entré dans ton IF ???? ( places y un echo voir si il s'affiche...).
Merci
Tu as mis ton code ente try/catch (dans la fonction d'update) ?
Ca serait bien de nous montrer ton code corrigé...
De plus.. si ça ne fonctionne pas.. tu dois avoir un message d'erreur... quel est-il ?
As tu également vérifié que tu entrais bien dans ton IF ?
Il serait bien également de récupérer proprement les variables AVANT de les utiliser. (je t'invite à lire ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
if (isset($_GET['modifier'])) { $blog = new blog($_POST['auteur'],$_POST['titre'],$_POST['contenu']); $bb = $manager->update($blog); }