Aller au contenu

Problème sur formulaire mise à jour page web (back office)


Helen

Sujets conseillés

Bonjour à tous,

Voilà mon problème : Le site web que je gère permet à différentes associations de gérer leur propre page web sur notre site. Elles passent par un formulaire grâce auquel elles peuvent modifier ou rajouter des pages. Les modifs sont donc enregistrées dans une base SQL. Or depuis quelques temps ce système ne fonctionne plus, et pourtant je ne me souviens pas avoir modifié quoi que ce soit ! Du coup je fais les modifs directement dans la base mais bon... Et comme je ne parle pas couramment php...je ne trouve pas la solution. Ce qui m'intrigue, c'est que quand on fait une modif, on a bien comme réponse que la modification a été enregistrée...

Donc je ne sais pas si le problème vient vraiment de cette page et de son code. J'ai aussi pensé à une configuration du serveur qui me bloquerait un truc (c'est déjà arrivé) mais apparemment ce n'est pas ça...

Enfin je ne sais plus... A tout hasard je vous laisse le code de la page. Si vous avez une idée n'hésitez pas. Je prends n'importe quelle petite piste ! Merci par avance.

<?php
if ($action != "update") {
include '../../../php/dbconnect.inc.php';
$table='assosDepartementales';
if ($new != "yes") {
$titreNum = "titre".$numPage;
$pageNum = "page".$numPage;
$sql = "SELECT $titreNum, $pageNum FROM $table WHERE departement='$numDep' AND ADouGL='AD'";
$req = mysql_query($sql) or die("<p>Erreur : votre page n'a pas pu être affichée. Contactez <a href='webmaster_AT_planning-familial.org'>webmaster_AT_planning-familial.org</a></p>");
mysql_close();
while ($data = mysql_fetch_array($req)) {
$titre = stripslashes(htmlspecialchars($data[$titreNum]));
$texte = stripslashes(htmlVersAccolades($data[$pageNum]));
}
}
echo '
<script type="text/javascript" src="../spip_barre.js"></script>
<form method="post" action="?numPage='.$numPage.'&action=update" name="formulaire">
<h6>titre de la page '.$numPage.'</h6>
<input type="text" name="titre" size="40" maxlength="60" value="'.$titre.'"/>
<h6>texte de la page '.$numPage.'</h6>
<p>
<a href="java script:barre_raccourci(\'{{\',\'}}\',document.formulaire.texte)" class=\'intertitre\' title="Transformer en intertitre">intertitre</a>
<a href="java script:barre_raccourci(\'{\',\'}\',document.formulaire.texte)" class=\'gras\' title="Mettre en gras">gras</a>
<a href="java script:apercu();" title="Aperçu avant publication">aperçu</a>
<a href="java script:aide();"><img src="/pictos/aide.gif" alt="AIDE" title="Comment utiliser ces éléments ?" border="0" /></a>
</p>
<textarea cols="90" rows="30" name="texte">'.$texte.'</textarea>
<h5><input type="submit" value="Envoyer" class="boutonBleu"/></h5>
</form>
';
} else {
include '../../../php/dbconnect.inc.php';
$table='assosDepartementales';
$titreNum = "titre".$numPage;
$pageNum = "page".$numPage;
$texte = accoladesVersHtml($texte);
$sql = "UPDATE $table SET $titreNum='$titre', $pageNum='$texte' WHERE departement='$numDep' AND ADouGL='AD'";
mysql_query($sql) or die("<p>Erreur : votre page n'a pas pu être mise à jour. Contactez <a href='webmaster_AT_planning-familial.org'>webmaster_AT_planning-familial.org</a></p>");
mysql_close();
echo '<p>Votre page a bien été modifiée, vous pouvez allez voir le <a href="/AssDep/index.php?departement='.$numDep.'&page='.$numPage.'" target="_blank">résultat</a> ou revenir au <a href="?">menu</a></p>';
}
?>

Lien vers le commentaire
Partager sur d’autres sites

Salut,

tout ça est bien trop vague pour qu'on puisse te répondre !

Quand tu dis que cela ne fonctionne plus, ça veut dire quoi ? Tu as un message d'erreur de php ? de MySQL ? du script en lui-même (prévu par le dev) ? Tu es bloquée sur une page blanche, bref qu'est ce qui se passe, ou ne se passe pas ou plus !

Merci de nous donner un maximum de précision, pour toi cela peut sembler idiot, mais nous ne sommes pas face à ton écran et nous ne connaissons pas forcément le script. Sans plus de détails c'est pas gagné.

++

Patrick

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

Ouh en aucun cas cela ne peut me sembler idiot ! C'est moi qui me trouve bien bête face à mon problème !

Donc, je n'ai aucun message d'erreur. Au contraire. Par exemple je choisi une page à modifier, je fais mes modifs, j'envoie et hop réponse : "votre page a bien été modifiée". Comme vous pouvez le voir dans le code, si l'enregistrement sur la BDD échoue je devrait me voir répondre : "votre page n'a pas pu être mise à jour". Donc un message d'erreur du script. Et dans la BDD bien sûr aucune modif n'est enregistrée. Mais pourtant il n'y a pas de problème de connexion, j'aurais un message d'erreur. Donc c'est bien dans ce fichu code qu'il doit y avoir un truc qui cloche. Parce que je n'ai aucun message d'erreur php ni MySQL.

En fait le script réagit comme si ca avait fonctionné mais ca n'a pas fonctionné.

Si je n'ai pas encore été assez précise n'hésitez pas à me le dire... J'essaierais de vous apporter ces précisions dans les limites de mes compétences !

Merci à vous !

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Tu peux dévoiler la structure de tes tables stp ...

Sinon, à première vue, je dirais que ton problème vient de la récupération des variables transmises en POST, car tu initialises les $ pour l'update, mais tu ne le fais pas avec les données envoyées par le formulaire => pas de message d'erreur mais pas d'update non plus.

Mais bon, dans ce cas, ça n'aurait jamais du fonctionner ... donc je ne suis pas plus sûr que ça, faut voir tes tables ...

++

knockedmaster

Modifié par KnockedMaster
Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

Merci à vous pour vos réponses. Alors la commission technique de mon hébergeur m'a demandé de "modifier le code afin d'obtenir un message d'erreur significatif au niveau des actions sur la base de données". Résultat : pas de message d'erreur sql. Donc le problème ne vient pas de là.

K-Ola, j'ai fait la manip que tu m'as proposé et j'obtiens : "UPDATE assosDepartementales (qui est le nom de la table) et ma modif est bien ajoutée ici dans ce résultat mais comme d'hab n'apparaît ni dans la base ni sur le site. Ca confirme bien le fait que le problème ne vienne pas de sql ?

KnockedMaster, je n'ai qu'une table liée. La table assosDepartementales. En ce qui concerne les champs j'ai ma clé et le reste des champs de style : departement, nomdepartement, titre1, page1, titre2, page2, etc...

Et Patrick oh oui j'ai essayé un peu partout ! Toujours le même résultat !

Je soliloque mais plus j'y pense et plus je me dis que le problème vient d'une autre page liée sur laquel j'aurais fait des modifs mais je vois pas en quoi ca pourrait interférer...

Merci à vous pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...