Probleme pour enregister et afficher un texte
Fermé
dimi26a
Messages postés
3
Date d'inscription
mercredi 16 juin 2010
Statut
Membre
Dernière intervention
18 avril 2016
-
18 avril 2016 à 16:30
dimi40a Messages postés 10 Date d'inscription vendredi 15 avril 2016 Statut Membre Dernière intervention 5 mai 2016 - 23 avril 2016 à 10:44
dimi40a Messages postés 10 Date d'inscription vendredi 15 avril 2016 Statut Membre Dernière intervention 5 mai 2016 - 23 avril 2016 à 10:44
A voir également:
- Probleme pour enregister et afficher un texte
- Excel cellule couleur si condition texte - Guide
- Transcription audio en texte word gratuit - Guide
- Mettre un texte en majuscule - Guide
- Afficher mot de passe wifi android - Guide
3 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
19 avril 2016 à 11:40
19 avril 2016 à 11:40
Salut,
N'ayant pas le code html de ton formulaire, difficile de voir si l'erreur vient de là.
Plusieurs points à vérifier :
- as tu des messages d'erreurs ?
- l'attribut action de ton formulaire pointe bien sur le fichier update-rules.php ?
- l'attribut method de ton formulaire est bien définie en post ?
- ton formulaire possède t-il bien un input dont l'attribut name est égal à user_username ?
- as tu essayer d'exécuter ta requête avec des données fictives directement dans un client sql (PhpMyAdmin par exemple) afin de voir si la requête est valide ?
Quelques remarques facultatives au passage :
- il n'est pas nécessaire de fermer et réouvrir les balises PHP si il n'y a pas de code html entre deux instructions php :
- le session_start() dans le fichier update-rules.txt n'est pas utile si tu n'utilise pas de variable de session dans ce script
- htmlspecialchars() ou addslaches() ne devraient pas être utilisées avant l'insertion en bdd. Pour éviter les injections sql avec l'API Mysqli il faut utiliser la fonction mysqli_real_escape_string(). Il faut néanmoins utiliser htmlspecialchars() lors de l'affichage des données dans le document html pour éviter les injections xss.
Bonne journée,
N'ayant pas le code html de ton formulaire, difficile de voir si l'erreur vient de là.
Plusieurs points à vérifier :
- as tu des messages d'erreurs ?
- l'attribut action de ton formulaire pointe bien sur le fichier update-rules.php ?
- l'attribut method de ton formulaire est bien définie en post ?
- ton formulaire possède t-il bien un input dont l'attribut name est égal à user_username ?
- as tu essayer d'exécuter ta requête avec des données fictives directement dans un client sql (PhpMyAdmin par exemple) afin de voir si la requête est valide ?
Quelques remarques facultatives au passage :
- il n'est pas nécessaire de fermer et réouvrir les balises PHP si il n'y a pas de code html entre deux instructions php :
<?php include 'components/authentication.php'; include 'components/session-check.php'; include 'controllers/base/head.php'; include 'controllers/navigation/first-navigation.php'; ?>
- le session_start() dans le fichier update-rules.txt n'est pas utile si tu n'utilise pas de variable de session dans ce script
- htmlspecialchars() ou addslaches() ne devraient pas être utilisées avant l'insertion en bdd. Pour éviter les injections sql avec l'API Mysqli il faut utiliser la fonction mysqli_real_escape_string(). Il faut néanmoins utiliser htmlspecialchars() lors de l'affichage des données dans le document html pour éviter les injections xss.
Bonne journée,
dimi40a
Messages postés
10
Date d'inscription
vendredi 15 avril 2016
Statut
Membre
Dernière intervention
5 mai 2016
2
Modifié par dimi40a le 21/04/2016 à 17:54
Modifié par dimi40a le 21/04/2016 à 17:54
d abord merci de m aider voila le script edit-rules-form.php
je n ai aucune erreur je reviens sur ma page pour editer comme si rien ne s est passe et j ai rien dans la base de donnees ma table est bien la etc mais rien n est enregistre.
tu voudrais que je teste quel requetes sur phpdamin?
D avance merci
<?php
$sql = "SELECT * FROM rules";
$result = mysqli_query($database,$sql) or die(mysqli_error($database));
$rules = mysqli_fetch_array($result);
?>
<!-- Tab panes -->
<div class="tab-content">
<div class="tab-pane fade in active" id="general">
<div class="col-md-12">
<form action="components/update-rules.php" method="post" enctype="multipart/form-data" id="UploadForm">
<input type="hidden" name="rules_id" value="<?php echo $rules['rules_id'];?>"/>
<input type="hidden" name="user_username" value="<?php echo $current_user;?>"/>
<textarea id="post_body" class="form-control" name="rule_txt" value="" style="height:300px;"><?php echo $rules['rule_txt'];?></textarea>
je n ai aucune erreur je reviens sur ma page pour editer comme si rien ne s est passe et j ai rien dans la base de donnees ma table est bien la etc mais rien n est enregistre.
tu voudrais que je teste quel requetes sur phpdamin?
D avance merci
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
22 avril 2016 à 09:14
22 avril 2016 à 09:14
Il faudrait essayer d’exécuter la requête d'insertion.
Tu peux modifier ton script d'insertion comme ceci pour afficher la requête (on désactive aussi temporairement la redirection pour voir la requête) :
Tu peux modifier ton script d'insertion comme ceci pour afficher la requête (on désactive aussi temporairement la redirection pour voir la requête) :
// ... $sql3="UPDATE rules SET user_username='$user_username',rule_txt='$rule_txt' WHERE rules_id=1"; echo $sql3; mysqli_query($database,$sql3)or die(mysqli_error($database)); //header("location:../edit-rules.php?status=success");
dimi40a
Messages postés
10
Date d'inscription
vendredi 15 avril 2016
Statut
Membre
Dernière intervention
5 mai 2016
2
22 avril 2016 à 10:45
22 avril 2016 à 10:45
voila ce que j obtiens
UPDATE rules SET user_username='dimi26a',rule_txt='<p>kkk</p>' WHERE rules_id=1
UPDATE rules SET user_username='dimi26a',rule_txt='<p>kkk</p>' WHERE rules_id=1
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
22 avril 2016 à 12:51
22 avril 2016 à 12:51
Parfait, cette requête semble correcte.
Arrives tu à l'exécuter dans PhpMyAdmin ?
Arrives tu à l'exécuter dans PhpMyAdmin ?
dimi40a
Messages postés
10
Date d'inscription
vendredi 15 avril 2016
Statut
Membre
Dernière intervention
5 mai 2016
2
23 avril 2016 à 10:44
23 avril 2016 à 10:44
salut alors quand je mets cette requête sur phpadmin ça s exécute sans renvoyer de message d erreur.