Petit problème pour adapter un scipt de news

Signaler
Messages postés
3
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
5 août 2005
-
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
-
Bonjour,
J'ai un petit problème pour adapter un script de news !

Je reçois cette erreur :
Notice: Undefined variable: report in d:\intranetok\news\postnews.php on line 30

Voici la page de code :




function alerter()
{
alert("OK !\n\nVotre news a été ajouté avec succès");
}


Post news





function afficher(testin) {
var temp = document.hop.document.hop.txt.value;
document.hop.document.hop.txt.value=temp+testin;
}



11 réponses

Messages postés
3
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
5 août 2005

Pour infos l'ereur doit se trouver par là :
<?
if ($report=='1'){
$requette=mysql_query("INSERT INTO $table VALUES( '', '$titre', '$txt', '$user2', '$date')");
sql_ok($requette);
}
function sql_ok($requette){
if (!$requette) {
echo $strError."\n";
echo $strSQLQuery." ".$sql_query." ".$strProducedAnError."\n";
echo $strMySQLSaid.mysql_error();
}
else {
echo "<script language="Javascript">";
echo "alerter ();";
echo "</script>";

; }


}
?>
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
Hello,

C'est le probleme du jour on dirait! J'ai pas regarde ton code, mais a vu de nez la reponse est... http://www.phpcs.com/forum.v2.aspx?ID=528196 !
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
Maintenant j'ai regarde le code
$report n'est pas defini a ta ligne 30! Il faut mettre un qqchose comme if (isset($_GET) && ($_GET['report'] != '')) $report = $_GET['report'] ; avant!
Messages postés
3
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
5 août 2005

Merci pour ton aide mais j'ai rajouté ta ligne et maintenant j'ai :
Notice: Undefined variable: titre in d:\intranetok\news\postnews.php on line 31

Notice: Undefined variable: txt in d:\intranetok\news\postnews.php on line 31

Notice: Undefined variable: user2 in d:\intranetok\news\postnews.php on line 31

Notice: Undefined variable: date in d:\intranetok\news\postnews.php on line 31

et là franchement, je comprend pas !
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



<?php et pas <?



Evite les ouvertures et fermetures de balises php, ça cradifie (lol) le code.



Ensuite en haut :

if(isset($_GET['report']))

{

//traitement

}


<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
Moi je mets if (isset($_GET) && ($_GET['report'] != '')) dans un cas pareil car le seul post qu'il fait est report. Mais bon, chacun son style je suppose
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Bah justement c'est pour ça que j'ai opté pour ma solution parce que la
tienne si $_GET['report'] n'existe pas tu auras une erreur (dans
le cas où il y aurait plusieurs variables $_GET ;-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Ensuite pareil pour ton problème il s'agit de variables non définies, tu dois mettre en haut de ta page $titre=''; etc...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
Hein, quoi ? Moi y en a pas comprendre ! Ma proposition fait justement ce que tu dis puisque j'ai fait l'hypothese qu'il y a une seule variable postee, en l'occurence report Donc le cas où il y aurait plusieurs variables $_GET n'a pas lieu avec mon hypothese
Mais pour une solution plus global:
if (isset($_GET)){
if (isset($_GET['report']) && ($_GET['report'] != '')) {
...
}
}
la on est sur de chez sur

(faut que j'arrete avec les smilies dis donc )
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
j'aurais plutôt fait :



if(isset($_GET['report']) AND trim($_GET['report']))

{



}

elseif(isset($_GET['autrevar']))

{



}



etc...

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
15
hehe... c'est vrai. Je concluerai par

if (isset($_GET)){
if (isset($_GET['report']) && (trim($_GET['report'] != ''))) {
...
}
}
elseif(isset($_GET['autrevar']) && (trim($_GET['autrevar'] != ''))) )
{
...
}

}

J'insiste sur le premier isset, question de methode meme si ca semble inutile. Pour le choix entre AND et &&, bah au finish c'est pareil, question de precedence... && decoupe mieux selon moi...