[PHP/MySQL/xhtml]Balise input de type hidden
Résolu/Fermé
remi13131
Messages postés
35
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
19 août 2010
-
Modifié par remi13131 le 18/08/2010 à 14:36
remi13131 Messages postés 35 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 19 août 2010 - 19 août 2010 à 12:32
remi13131 Messages postés 35 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 19 août 2010 - 19 août 2010 à 12:32
A voir également:
- [PHP/MySQL/xhtml]Balise input de type hidden
- Balise br - Forum CSS
- Easy php - Télécharger - Divers Web & Internet
- Hidden information marketplace c'est quoi ✓ - Forum HTML
- Winmend folder hidden - Télécharger - Confidentialité
- Balise <br> HTML ✓ - Forum HTML
9 réponses
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
18 août 2010 à 14:21
18 août 2010 à 14:21
Bonjour,
je crois qu'il manque un bout de ton post :)
(ou alors tu n'as pas de question ? ^^)
je crois qu'il manque un bout de ton post :)
(ou alors tu n'as pas de question ? ^^)
remi13131
Messages postés
35
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
19 août 2010
1
18 août 2010 à 14:29
18 août 2010 à 14:29
oui je suis désolé, j'ai "rippé" en tapant le message et je ne sais comment mais ça l'a validé ^^, mais c'est corrigé !
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
18 août 2010 à 14:42
18 août 2010 à 14:42
Tu as essayé de faire appel à la fonction str_replace ?
https://www.php.net/manual/fr/function.str-replace.php
afin d'échapper tes guillemets :
Si ton problème n'est que pour le contenu de value, ca devrait faire l'affaire.
https://www.php.net/manual/fr/function.str-replace.php
afin d'échapper tes guillemets :
$contenu = str_replace('"', '\"', $contenu);
Si ton problème n'est que pour le contenu de value, ca devrait faire l'affaire.
remi13131
Messages postés
35
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
19 août 2010
1
18 août 2010 à 15:17
18 août 2010 à 15:17
Merci pour ta réponse !
Oui, je pourrais faire appel à cette fonction, mais alors, imaginons que dans $contenu il y ait un lien avec un attribut href=" " .
Les guillemets vont être échappées mais ensuite il faudra qu'elles "reviennent" pour que le lien soit affiché dans l'article final.
Est-il alors possible de le faire avec cette fonction ?
Par avance merci !
Oui, je pourrais faire appel à cette fonction, mais alors, imaginons que dans $contenu il y ait un lien avec un attribut href=" " .
Les guillemets vont être échappées mais ensuite il faudra qu'elles "reviennent" pour que le lien soit affiché dans l'article final.
Est-il alors possible de le faire avec cette fonction ?
Par avance merci !
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
18 août 2010 à 15:21
18 août 2010 à 15:21
bah oui en inversant les paramètres ^^ :
Et le tour est joué ! :)
$contenu = str_replace('\"', '"', $contenu);
Et le tour est joué ! :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
remi13131
Messages postés
35
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
19 août 2010
1
18 août 2010 à 15:27
18 août 2010 à 15:27
Ah ! c'est terrible comme fonction ça :) !
Je m'empresse d'essayer cela !!
Et puis, si ça ne marche pas, ben c'est qu'il y a encore une autre erreur ^^
Sinon, est-ce que cela t'interresserait que je poste le code de mes deux pages de modification de billet pour que tu me dise ce que tu en pense ?
(C'est mon premier vrai projet de site internet donc il faut que je prenne le maximum d'avis pour pouvoir prendre dès maintenant les bonnes habitudes !)
Je m'empresse d'essayer cela !!
Et puis, si ça ne marche pas, ben c'est qu'il y a encore une autre erreur ^^
Sinon, est-ce que cela t'interresserait que je poste le code de mes deux pages de modification de billet pour que tu me dise ce que tu en pense ?
(C'est mon premier vrai projet de site internet donc il faut que je prenne le maximum d'avis pour pouvoir prendre dès maintenant les bonnes habitudes !)
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
18 août 2010 à 15:32
18 août 2010 à 15:32
Je peux te dire rapidement ce que j'en pense si tu veux ^^ (enfin si c'est pas trop long :p)
remi13131
Messages postés
35
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
19 août 2010
1
Modifié par remi13131 le 18/08/2010 à 15:52
Modifié par remi13131 le 18/08/2010 à 15:52
Alors voici pour la page "d'accueil" si je peut dire :
Edit : Oulala, j'ai supprimé le code car il s'affichait super mal sur le fofo...
Il est un peu trop large donc tu ne pourra pas voir correctement les incrémentations :/
Edit : Oulala, j'ai supprimé le code car il s'affichait super mal sur le fofo...
Il est un peu trop large donc tu ne pourra pas voir correctement les incrémentations :/
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
18 août 2010 à 15:56
18 août 2010 à 15:56
utilise plutot des $_POST a la place des $_GET car ils sont visible depuis l'url
remi13131
Messages postés
35
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
19 août 2010
1
19 août 2010 à 09:41
19 août 2010 à 09:41
Oui, je sais cela... Mais cette page est (pour l'instant) destinée à moi même, donc cela ne me gène pas. Si je construisais un site pour quelqu'un d'autre, bien entendu que je prendrais toutes mes précautions... Ou tout du moins le plus possible ^^ Merci Beaucoup de tes réponses ! C'est très sympa d'avoir un avis, ça permet de s'améliorer plus rapidemment !
remi13131
Messages postés
35
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
19 août 2010
1
Modifié par remi13131 le 18/08/2010 à 15:56
Modifié par remi13131 le 18/08/2010 à 15:56
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Rémi DI PAOLA</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Exemple" href="../design_defaut.css" /> </head> <body> <?php include("structure_php/En_tete.php"); include("structure_php/Barre_navigation.php"); include("structure_php/Menu_site.php"); ?> <div id="corps"> <h3>Interface d'administration</h3> <p> <a href="creation_billet.php">| Creation de billet |</a> <a href="modif_billet.php"> Modification de billet |</a> <a href="suppr_billet.php"> Suppression de billet |</a> <h4>Modification de billet</h4><?php if (isset($_GET['mod']) and $_GET['mod']==1) { echo "Le billet à été modifié avec succès"; $_GET['mod']=0; } ?> <?php try { $bdd = new PDO('mysql:host=localhost;dbname=site_personnel', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $billet = $bdd->query('SELECT ID, section, titre, contenu FROM billets ORDER BY titre'); ?> <form method="post" action="modif_billet_traitement.php?mod=0"> <p> titre du billet : <select name="titre"> <?php while ($donnees = $billet->fetch()) { echo '<option value="' . $donnees['titre'] . '">' . $donnees['titre'] . '</option>'; } ?> </select> <input type="submit" value="Valider" /> </p> </form> <?php if (isset($_GET['mod']) and $_GET['mod']=2) { ?> <form method="post" action="modif_billet_traitement.php?mod=2"> <p> Titre du billet : <input type="text" name="titre" value="<?php echo $_GET['titre'] ?>" /> <br /><br /> Contenu du billet : <br /> <textarea name="contenu" rows="15" cols="70"> <?php echo $GET['contenu'] ?> </textarea><br /><br /> Section du billet : <select name="section"> <option value="accueil">Accueil</option> <option value="presentation">Présentation</option> <option value="experiences">Expériences</option> <option value="divers">Divers</option> <option value="liens">Liens</option> <option value="contact">Contact</option> </select> <br /><br /> <input type="hidden" name="ID" value="<?php $_GET['id'] ?>" /> <input type="submit" value="Valider" /> </p> </form> <?php } $billet->closeCursor(); ?> </div> <?php include("structure_php/Pied_de_page.php"); ?> </body> </html>
EDIT : Bon voilà finalement ça va à peu près l'affichage donc je l'ai mis quand même, mais je ne t'en voudrais pas de ne pas le lire c'est pas super là...
C'est la page d'acceuil de modification là.
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
Modifié par Defouille le 18/08/2010 à 16:09
Modifié par Defouille le 18/08/2010 à 16:09
En regardant vite fait on peut dire que j'ai 3 conseils à te donner ^^
D'abord, toujours utiliser de l'encodage utf-8 dans tes pages et dans ta base (a part si tu es contrain et forcé par un être plus puissant que toi à l'utilisation d'un autre encodage :p)
Ca permet de moins se poser de question si tu fais de l'AJAX, et d'éviter beaucoups de problèmes d'encodage (qui sont souvent très chiants...).
Ensuite pour la sécurisation des variables que tu récupères dans $_GET ou $_POST je te conseille d'apprendre à utiliser la fonction filter_input.
Une fois connue et maitrisé elle te permet de récupérer tout tes champs en toute sécurité, sans te prendre la tête.
Article en anglais : utilisation $_GET et $_POST sécurisé
http://www.phparch.com/2010/07/08/never-use-_get-again/
fonctions filter_input :
https://www.php.net/manual/fr/function.filter-input.php
Enfin détail, je te conseille de ne jamais mettre d'espace ou de majuscule dans tout les fichiers de tes projets, pour éviter des erreurs de chemins.
Ce sont des conseils pas forcément "important" pour que ton projet fonctionne, mais ça peut te faire aller plus vite et etre vraiment pratique.
(je vais regarder l'autre page :p)
D'abord, toujours utiliser de l'encodage utf-8 dans tes pages et dans ta base (a part si tu es contrain et forcé par un être plus puissant que toi à l'utilisation d'un autre encodage :p)
Ca permet de moins se poser de question si tu fais de l'AJAX, et d'éviter beaucoups de problèmes d'encodage (qui sont souvent très chiants...).
charset=iso-8859-1 => charset=utf-8
Ensuite pour la sécurisation des variables que tu récupères dans $_GET ou $_POST je te conseille d'apprendre à utiliser la fonction filter_input.
Une fois connue et maitrisé elle te permet de récupérer tout tes champs en toute sécurité, sans te prendre la tête.
Article en anglais : utilisation $_GET et $_POST sécurisé
http://www.phparch.com/2010/07/08/never-use-_get-again/
fonctions filter_input :
https://www.php.net/manual/fr/function.filter-input.php
Enfin détail, je te conseille de ne jamais mettre d'espace ou de majuscule dans tout les fichiers de tes projets, pour éviter des erreurs de chemins.
<?php include("structure_php/Pied_de_page.php"); ?>
Ce sont des conseils pas forcément "important" pour que ton projet fonctionne, mais ça peut te faire aller plus vite et etre vraiment pratique.
(je vais regarder l'autre page :p)
remi13131
Messages postés
35
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
19 août 2010
1
19 août 2010 à 09:45
19 août 2010 à 09:45
Okay pour l'UTF-8 et filter_input, j'avoue n'en avoir jamais entendu parler !
Pour la majuscule, c'est une erreur de ma part car je connnais cette "règle" et parfois en tapant rapidemment ça ne vient pas tout seul ^^
Pour la majuscule, c'est une erreur de ma part car je connnais cette "règle" et parfois en tapant rapidemment ça ne vient pas tout seul ^^
remi13131
Messages postés
35
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
19 août 2010
1
18 août 2010 à 15:57
18 août 2010 à 15:57
Et voilà la page de traitement :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Rémi DI PAOLA</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Exemple" href="../design_defaut.css" /> </head> <body> <div id="corps"> <?php try { $bdd = new PDO('mysql:host=localhost;dbname=site_personnel', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } if ($_GET['mod']=0) { $billet = $bdd->prepare('SELECT ID, titre, contenu, section FROM billets WHERE titre= ? '); $billet->execute(array($_POST['titre'])); $donnees = $billet->fetch(); $billet->closeCursor(); header('Location: modif_billet.php?mod=2&titre='.$donnees['titre'].'&contenu='.$donnees['contenu'].'&section='.$donnees['section'].'&id='.$donnees['ID']); } if ($_GET['mod']=2) { $billet = $bdd->prepare('UPDATE billet SET section = :section, titre = :titre, contenu = :contenu, date_heure = now() WHERE ID = :id'); $billet->execute(array( 'section' => $_GET['section'], 'titre' => $_GET['titre'], 'contenu' => $_GET['contenu'], 'id' => $_GET['id'] )); } $billet->closeCursor(); header('location: modif_billet.php?mod=1'); ?> </div> <?php include("structure_php/Pied_de_page.php"); ?> </body> </html>
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
18 août 2010 à 16:10
18 août 2010 à 16:10
Pas grand chose à dire de plus, le code est clean.
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
18 août 2010 à 16:34
18 août 2010 à 16:34
ton commande devrait buggué a un moment a un autre ...
tu met
alors que tu as déjà du html avant, donc çà devrait planter en arrivant a cette ligne
tu met
header('location: modif_billet.php?mod=1');
alors que tu as déjà du html avant, donc çà devrait planter en arrivant a cette ligne
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
18 août 2010 à 16:39
18 août 2010 à 16:39
maka54 a raison, si tu mets un header, il ne faut pas qu'il y est autre chose d'écrit dans la page avec l'appel à header.
remi13131
Messages postés
35
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
19 août 2010
1
19 août 2010 à 09:31
19 août 2010 à 09:31
Bonjour,
Je suis désolé, mais comme dit dans monb premier message j'ai appris en autodidacte sur le site du zéro. J'ai appris à faire cette redirection dans le tuto PHP / MySQL dans la partie TP minichat. Je ne sais pas si j'ai le droit de mettre un lien (qu'il soit supprimé si c'est le cas), donc je le met quand même https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914663-tp-un-minichat
Je suis désolé, mais comme dit dans monb premier message j'ai appris en autodidacte sur le site du zéro. J'ai appris à faire cette redirection dans le tuto PHP / MySQL dans la partie TP minichat. Je ne sais pas si j'ai le droit de mettre un lien (qu'il soit supprimé si c'est le cas), donc je le met quand même https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914663-tp-un-minichat
Defouille
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
54
19 août 2010 à 09:43
19 août 2010 à 09:43
Ce n'est pas un tord, c'est même très bien ^^
Mais tu remarqueras que même dans ton tuto, il n'y a pas de code html affiché dans la page avant le header (il n'y a que du code php qui n'affiche rien sur la page).
Mais tu remarqueras que même dans ton tuto, il n'y a pas de code html affiché dans la page avant le header (il n'y a que du code php qui n'affiche rien sur la page).
remi13131
Messages postés
35
Date d'inscription
dimanche 23 décembre 2007
Statut
Membre
Dernière intervention
19 août 2010
1
18 août 2010 à 16:25
18 août 2010 à 16:25
Merci d'avoir pris le temps pour moi defouille !
Je vais tenter ta solution, elle va certainement m'aider beaucoup !
Merci encore !
Au plaisir de se recroiser, que ce soit virtuellement ou réellement ^^
(ça me fait réellement plaisir car tu es le premier à qui je montre mon code et je pensais qu'il n'était pas si net que cela !)
Au revoir, je met en résolu !
Je vais tenter ta solution, elle va certainement m'aider beaucoup !
Merci encore !
Au plaisir de se recroiser, que ce soit virtuellement ou réellement ^^
(ça me fait réellement plaisir car tu es le premier à qui je montre mon code et je pensais qu'il n'était pas si net que cela !)
Au revoir, je met en résolu !