Salut,
j'ai un problème avec mon php : j'ai une page "edit" pour modifier le texte de mon site, j'utilise un fichier xml pour stocker les textes (très peu), en local : tout marche : on arrive sur la page edit.php, on édite le texte dans un textarea, on envoie, et le texte du site est modifié.
Mais une fois en ligne, problème :
je modifie le texte, je clique sur 'envoyer', la page retourne automatiquement sur elle-même ("edit.php") et le texte se change bien dans le textarea, Mais si je recharge la page, le premier texte (de départ) réapparaît, et le texte du site n'a pas bougé entre temps.
Donc ce que je ne comprends pas, c'est qu'une première fois, après avoir cliqué sur 'envoyer' il lit bien le texte depuis le xml, et l'affiche, mais ça ne modifie pas les textes de mon site, et si je reviens sur la même page, le texte édité disparaît pour laisser place à l'ancien.
Voilà mon code php :
et j'affiche le texte à éditer dans un textarea comme ça :
<textarea rows="14" cols="80" name="haut" id="textarea1"><?php echo $haut ?></textarea>
Pouvez-vous m'aider?
Merci
Modifié par Soraze (24 Jun 2011 - 13:39)
j'ai un problème avec mon php : j'ai une page "edit" pour modifier le texte de mon site, j'utilise un fichier xml pour stocker les textes (très peu), en local : tout marche : on arrive sur la page edit.php, on édite le texte dans un textarea, on envoie, et le texte du site est modifié.
Mais une fois en ligne, problème :
je modifie le texte, je clique sur 'envoyer', la page retourne automatiquement sur elle-même ("edit.php") et le texte se change bien dans le textarea, Mais si je recharge la page, le premier texte (de départ) réapparaît, et le texte du site n'a pas bougé entre temps.
Donc ce que je ne comprends pas, c'est qu'une première fois, après avoir cliqué sur 'envoyer' il lit bien le texte depuis le xml, et l'affiche, mais ça ne modifie pas les textes de mon site, et si je reviens sur la même page, le texte édité disparaît pour laisser place à l'ancien.
Voilà mon code php :
<?php
/* LIRE */
$dom = new DomDocument();
$dom->load('edition.xml');
$_haut = $dom->getElementsByTagName('haut')->item(0);
$haut = $_haut->firstChild->nodeValue;
$_contact = $dom->getElementsByTagName('contact')->item(0);
$contact = $_contact->firstChild->nodeValue;
$_cv = $dom->getElementsByTagName('cv')->item(0);
$cv = $_cv->firstChild->nodeValue;
$_bio = $dom->getElementsByTagName('bio')->item(0);
$bio = $_bio->firstChild->nodeValue;
/* ECRIRE */
if ( isset($_POST['cache']) ){
$haut = stripslashes($_POST['haut']);
$bio = stripslashes($_POST['bio']);
$cv = stripslashes($_POST['cv']);
$contact = stripslashes($_POST['contact']);
$_haut->firstChild->nodeValue = $haut;
$_contact->firstChild->nodeValue = $contact;
$_cv->firstChild->nodeValue = $cv;
$_bio->firstChild->nodeValue = $bio;
$dom->save('edition.xml');
}
?>
et j'affiche le texte à éditer dans un textarea comme ça :
<textarea rows="14" cols="80" name="haut" id="textarea1"><?php echo $haut ?></textarea>
Pouvez-vous m'aider?
Merci
Modifié par Soraze (24 Jun 2011 - 13:39)