Problème de variable avec Script de News [PHP] - PHP - Programmation
Marsh Posté le 15-11-2002 à 16:55:08
Fouyaya, y a du boulot.
Alors euh bon, pour les erreurs du début "Undefined variable file", ba stu pouvais nous dire à quel moment tu initialises la variable, ça s'rait cool. Je suppose qu'elle se trouve dans un de tes require() m'enfin montre le code passke sans ça, on peut pas trop t'aider
Ensuite, pour les erreurs d'index, là c'est normal (enfin je crois). On va prendre l'exemple de ton dernier script. J'imagine que tu fais un translate("Date", "kekchose" ). Et à ta ligne 106, tu demandes la valeur du tableau $phrases correspondant à l'index Date. Perso, j'verrai plus un truc genre 1, 2 ou 148, vu que t'as un tableau. Ou alors, si tu fais une association du style "Date"->"15/11/2002" alors fais plutôt $phrases["Date"] (soit $phrases["$str"] dans ton code).
Enfin bref, t'as voulu faire concis pour pas prendre trop de place mais si j'étais toi, je donnerai toutes les infos pour UNE erreur. Comme ça, avec la correction d'une bin t'auras p'têt la correction de tout
Marsh Posté le 18-11-2002 à 11:46:23
Bon, merci pour ta réponse , mais comme je maitrise rien du tout pour l'instant, j'ai pris un script de news très simple pour mieux comprendre.
Ne tiens pas compte du script ci-dessus, j'en ai choisi un autre. Et j'ai aussi des erreurs, et je sais pas pourquoi mais je crois que c'est du à ma version de php, ca le faisait pas avec l'ancien ...
Voici le script complet :
<?php
require ("dv_config.php" );
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="Suprem">
<meta name="keywords" content="">
<title></title>
<link rel="stylesheet" href="css/<?php echo $css; ?>" type="text/css">
</head>
<body bgcolor="#FFFFFF" text="#000000" background="" leftmargin="0" topmargin="0">
<br>
<table border="0" cellspacing="0" cellpadding="10" width="650">
<tr>
<td height="151">
<div align="left">
<?php
$db = mysql_connect("$dv_host", "$dv_login", "$dv_pass" );
mysql_select_db("$dv_base",$db);
if ($selection == "toutes" )
$query = "SELECT * FROM DVnews ORDER BY id DESC";
else
$query = "SELECT * FROM DVnews ORDER BY id DESC LIMIT 0,5";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
$date = $row[date];
$annee = date("Y", $date);
$mois = date("m", $date);
$jour = date("d", $date);
$heures = date("H", $date);
$minutes = date("i", $date);
$contenu = nl2br($row[contenu]);
$date = "le ".$jour."/".$mois."/".$annee." à ".$heures."h".$minutes;
echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"3\" width=\"450\" align=\"center\">\n";
echo "<tr>\n";
echo "<td>".$row[titre]."</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td> \n";
echo "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"10\">\n";
echo "<tr> \n";
echo "<td> \n";
echo "<p> ".$contenu."</p>\n";
echo "</td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td align=\"right\">".$date."</td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "<p> </p>\n";
}
/* fermeture de la connexion */
mysql_close($db);
?>
</div>
</td>
</tr>
</table>
<table width="650" border="0" cellspacing="0" cellpadding="10">
<tr>
<td>
<div align="center"><a href="dv_news.php?selection=toutes">Afficher toutes les news</a></div>
</td>
</tr>
</table>
<br>
<table width="650" border="0" cellspacing="0" cellpadding="10">
<tr>
<td>
</td>
</tr>
</table>
</body>
</html>
Lorsque je rentre dans l'interface d'admin et que je lance la page , il m'inscrit bien ma news dans la base Sql !
Lorsque , ensuite, je lance le script ci-dessus dans ma page :
Notice: Use of undefined constant date - assumed 'date' in E:\Intranet 2002\news\dv_news.php on line 37
Notice: Use of undefined constant contenu - assumed 'contenu' in E:\Intranet 2002\news\dv_news.php on line 44
Notice: Use of undefined constant titre - assumed 'titre' in E:\Intranet 2002\news\dv_news.php on line 50
Ceci est un test
TEST DE LA PREMIERE NEWS
le 18/11/2002 à 11h09
Afficher toutes les news
C'est un problème de variable je sais mais j'y comprends encore pas grand chose, je débute
Ligne 37 : $date = $row[date];
Ligne 44 : $contenu = nl2br($row[contenu]);
Ligne 50 : echo "<td>".$row[titre]."</td>\n";
Ce que je comprends encore moins, c'est qu'il m'affiche bien ma news pourtant ....
Marsh Posté le 18-11-2002 à 11:50:05
tixi a écrit a écrit : Ligne 37 : $date = $row["date"]; Ligne 44 : $contenu = nl2br($row["contenu"]); Ligne 50 : echo "<td>".$row["titre"]."</td>\n"; |
Ca devrait aller mieux
Marsh Posté le 18-11-2002 à 13:13:17
Faut le savoir!
Tu ne la feras plus
Marsh Posté le 15-11-2002 à 16:30:15
Bonjour
Je débute en php et après avoir réussi mes pseudo-frames, je souhaite mettre en place Les News v2.2 .
Et j'ai un problème, qui est surement lié à ma version de PHP :4.2.3, je pense, variables globales sur off .
Le script pour la page d'administration:
<?php
require "news-conf.php3";
$lngfile="lang/fr.txt";
$lng = "_fr";
$phrases = get_translations($lngfile);
require ("haut.php3" );
if ($file == "addn" ) {
require ("addnews.php3" );
}
elseif ($file == "modn" ) {
require ("modnews.php3" );
}
elseif ($file == "deln" ) {
require ("delnews.php3" );
}
elseif ($file == "up" ) {
require ("upload.php3" );
}
else {
echo ("<center><font face=\"verdana\"><h3>".translate("Select an option" )."</h3></font></center>" );
}
require ("bas.php3" );
?>
Et les erreurs sur la page executée:
Notice: Undefined variable: files in E:\Intranet 2002\news\adminews\index_fr.php3 on line 7
Notice: Undefined variable: files in E:\Intranet 2002\news\adminews\index_fr.php3 on line 10
Notice: Undefined variable: files in E:\Intranet 2002\news\adminews\index_fr.php3 on line 13
Notice: Undefined variable: files in E:\Intranet 2002\news\adminews\index_fr.php3 on line 16
Donc une erreur à chaque ligne avec $file.
J'ai remis variable globals sur On dans php.ini, pareil
J'ai donc remis sur off
Et quand je rajoute çà au début du script :
$file = $_GET['file'];
Les erreurs ci dessus disparaissent mais celle là apparait :
Undefined index: file in E:\Intranet 2002\news\adminews\index_fr.php3 on line 3
Pourtant j'ai accès à l'interface !
Mais cé pas fini
Je clic sur ajout d'une news :
Undefined variable: action in E:\Intranet 2002\news\adminews\addnews.php3 on line 8
Ligne 8 : switch($action)
Même erreur et même ligne pour modifier ou supprimer ...
Une autre juste pour modifier/supprimer :
Undefined index: Date in E:\Intranet 2002\news\adminews\news-conf.php3 on line 106
Script : /* translate a string */
function translate($str,$vals="" ) {
global $phrases;
if ($phrases) {
$p_str = $phrases[$str]; Ligne 106
if ($p_str == "" ) {
$p_str = $str;
}
} else {
$p_str = $str;
}
if (gettype($vals)=="array" ) {
$p_str = sprintf($p_str,$vals[0],$vals[1],$vals[2],$vals[3],$vals[4],$vals[5],$vals[6]);
}
return (trim($p_str));
J'espere que vous pourrez m'aider à comprendre ... sachant que je débute et que mon cerveau fume