Problème à la modification de news

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème à la modification de news

par Hywan » 16 avr. 2008, 14:20

Y a pas de soucis, tant que tu as compris comment débuggé :).

par ben5back » 16 avr. 2008, 14:16

C'est bon tout fonctionne nickel. Merci de votre aide :D

Et encore désolé pour hier ;)

par Hywan » 16 avr. 2008, 12:18

Ta fonction est définie si $_POST['id_news'] vaut 0. S'il vaut une autre valeur, PHP ne va pas déclarer la fonction. Bah oui, tu l'as mise dans le bloc du if, donc dans le else, il ne la connait pas. On déclare toujours nos fonctions en haut du fichier pour les utiliser plus bas (ou sinon dans un autre fichier mais appelé en tout premier).

par ben5back » 16 avr. 2008, 10:36

Oui excuser moi, les gars :(

Je pense savoir d'où vient l'erreur. J'ai remarqué que lorsque je crée une nouvelle news, le bbcode s'exécute bien car mon code appelle la fonction bbcode_format().
Mais à la modification, il n'y a rien qui l'appelle !!!

J'ai donc ajouter de quoi appeler la fonction bbcode_format(), mais cela me renvoi cette erreur :

Fatal error: Call to undefined function: bbcode_format() in /home.10.19/acdcback/www/G2BH_v5/lib/liste_news.php on line 79

L'appelle de la fonction est apparemment non définie. Pourquoi n'arrive t-il pas à appeler la fonction ? Voici la partie de mon code que j'ai modifié :
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
        mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . bbcode_format($contenu) . "', '" . time() . "')") or die(mysql_error());
    }
    else
    {
        // On protège la variable "id_news" pour éviter une faille SQL
        $_POST['id_news'] = addslashes($_POST['id_news']);
        // C'est une modification, on met juste à jour le titre et le contenu;
		mysql_query("UPDATE news SET titre='" . $titre . "', '" . bbcode_format($contenu) . "' WHERE id='" . $_POST['id_news'] . "'") or die(mysql_error());

Merci et encore désolé pour mon comportement :wink:

par zeus » 15 avr. 2008, 23:32

Modération:
Je vais appuyer Hywan en t'informant que nous ne sommes pas là pour debugger tes scripts à ta place.
Nous allons t'apprendre à le faire par toi même, il est donc nécessaire que tu fournisses un minimum d'effort de compréhension

par Hywan » 15 avr. 2008, 23:28

Que te disent tes echos et tes var_dump ?

Je pense que tu dois commencer à me trouver un peu lourd, mais j'aimerais que tu trouves en débuggant toi-même.

par ben5back » 15 avr. 2008, 20:56

Up ! :wink:

par ben5back » 14 avr. 2008, 21:15

Euh j'ai encore un petit souci. Rien que le fait de mettre type="hidden", le bbcode ne s'exécute plus... :(
Et si je mets type="text", le bbcode remarche mais par contre mon problème de tout à l'heure recommence...

Je ne comprends pas pourquoi ce petit bout de code influence sur l'exécution du bbcode :shock:

Code : Tout sélectionner

<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" size="30"/>
merci ;)

par ben5back » 14 avr. 2008, 20:27

Oui oui, j'ai bien compris le raisonnement :D
Pense également à marquer ton sujet comme résolu :).
Je ne peux pas, car je l'ai écrit en tant d'invité ;)

par Hywan » 14 avr. 2008, 19:35

Ce que je voulais c'est que tu trouves par toi-même. Si on te donne la réponse, tu ne trouverais pas la prochaine fois et tu reviendrais ici. J'espère juste que tu as compris le raisonnement que j'ai essayé de te faire apprendre. Et à la prochaine.

Pense également à marquer ton sujet comme résolu :).

par ben5back » 14 avr. 2008, 19:32

C'est bon, ca marche !!!

Le problème vient du fait que avant le bouton, je n'ai pas fait un input de type hidden qui contient l'id de la news. Actuellement, dans mon code, il ne peux pas exploiter l'id, puisque je ne l'envoies pas par une variable POST.

Je n'ai pas trouvé ça tout seul, c'est grâce à un membre d'un autre forum, merci lui. Et merci à toi HyWaN tout de même :D

par Hywan » 14 avr. 2008, 19:31

Tes echos te permettent de suivre l'exécution de ton script et de savoir où il y a un problème. Tu places un echo mais pas de n'importe quoi. Tu peux dire :
echo 'Je suis ici, c\'est normal, et id vaut ' . $id . '.' . "\n";
par exemple. Il ne faut pas écrire des echos bêtement, mais les placer là où ton script doit passer, et tu affiches les valeurs. En théorie, tu devrais aboutir sur un mysql_query. On va voir si c'est la bonne requête avec les bonnes valeurs qui sera exécutée.

par ben5back » 14 avr. 2008, 19:27

Euh oui surement, mais les echo tels qu'ils sont placés ne me donnent que la valeur de l'id.

:wink:

par Hywan » 14 avr. 2008, 19:25

Normalement, à l'aide des echos, tu as pu trouver la ligne qui pose problème : celle qui ne réagit pas comment tu veux. C'est celle-là que je veux.

par ben5back » 14 avr. 2008, 19:23

Comment ça la ligne concernée ?