Update impossible
Posté : 06 avr. 2017, 10:05
Bonjour à tous et à toutes,
Je vous explique brièvement mon problème :
J'ai une base de données avec des articles, et une administration qui les liste.
Pour mettre un article hors-ligne, il me suffit de cliquer sur une checkbox switch et dans ma BDD, un champ booléen est soit passé à 0 pour hors-ligne, soit passé à 1 pour en ligne.
Pour mon premier article, cela fonctionne bien puisqu'il n'y a pas d'accents dans le titre, mais pour les deux autres.... C'est la galère....
Et j'ai beau avoir utilisé htmlentities et tout ce qui s'en suit, rien à faire... Pourtant, lorsque je rentre ma requête en dur en sql, ça fonctionne et même avec les accents....
Voici mon code :
Un formulaire généré en PHP avec chaque article ayant sa propre checkbox :
Et le PHP dans publier.php :
Quelqu'un peut-il m'aider s'il vous plaît ?
Je vous explique brièvement mon problème :
J'ai une base de données avec des articles, et une administration qui les liste.
Pour mettre un article hors-ligne, il me suffit de cliquer sur une checkbox switch et dans ma BDD, un champ booléen est soit passé à 0 pour hors-ligne, soit passé à 1 pour en ligne.
Pour mon premier article, cela fonctionne bien puisqu'il n'y a pas d'accents dans le titre, mais pour les deux autres.... C'est la galère....
Et j'ai beau avoir utilisé htmlentities et tout ce qui s'en suit, rien à faire... Pourtant, lorsque je rentre ma requête en dur en sql, ça fonctionne et même avec les accents....
Voici mon code :
Un formulaire généré en PHP avec chaque article ayant sa propre checkbox :
<form method=\"POST\" id=\"publier\" action=\"functions/publier.php\">
<input type=\"hidden\" class=\"articlePubli\" name=\"article\" value=\"\">
<input type=\"submit\" id=\"publierArticle\" name=\"publierArticle\" style=\"display:none;\"/>
<input type=\"submit\" id=\"horsLigneArticle\" name=\"horsLigneArticle\" style=\"display:none;\"/>
</form>
[...]
<script>
$(document).ready(function(){
$('.iosCheck').click(function(){
var article = $(this).attr("id");
$('.articlePubli').val(article);
if($(this).prop("checked"))
{
$('#publierArticle').trigger("click");
}
else
{
$('#horsLigneArticle').trigger("click");
}
});
});
</script>
Et le PHP dans publier.php :
<?php
session_start();
$lien = mysqli_connect('localhost','root','root','ls_bdd');
mysqli_query($lien,"SET NAMES UTF8");
$article = htmlentities($_POST['article']);
if(isset($_POST['publierArticle'])){
$req = "UPDATE ls_posts SET postage = '1' WHERE name='".$article."';";
$res = mysqli_query($lien, $req);
if (!$res) {
echo "Erreur";
}
else {
echo "Ok";
echo "UPDATE ls_posts SET postage = '1' WHERE name='".$article."';";
//header('Location:../items-list.php');
}
}
elseif(isset($_POST['horsLigneArticle'])){
$req = "UPDATE ls_posts SET postage = '0' WHERE name='".$article."';";
$res = mysqli_query($lien, $req);
if (!$res) {
echo "Erreur";
}
else {
echo "Ok";
echo "UPDATE ls_posts SET postage = '0' WHERE name='".$article."';";
//header('Location:../items-list.php');
}
}
?>
Quelqu'un peut-il m'aider s'il vous plaît ?