nebuchad34 Posté 29 Juillet 2008 Posté 29 Juillet 2008 (modifié) Bonjour, j'utilise un script PHP de gestion de news. Je l'utilise en fait deux fois. J'ai donc deux dossiers de ce script, l'un nommé "news", l'autre "breves", chacun configuré sur des bases mySQL différentes. Lorsque je fait appel aux deux scripts sur des pages différentes, cela fonctionne parfaitement. Par exemple, je crée une page "breves.php" contenant le code : <?php $chemin = "breves"; $what_aff = "petit_format"; include ("$chemin/aff_news.php"); ?> et une page "news.php" contenant le code : <?php $chemin = "news"; $what_aff = "petit_format"; include ("$chemin/aff_news.php"); ?> A présent, si je fait un include de "breves.php" sur une page, et un peu plus loin, sur la même page, un include de "news.php", alors en lieux et place des news il me réaffiche les brèves !!!!! J'ai essayé de bidouillé en utilisant des $chemin et $chemin2 pour différencier les variables, mais ça ne change rien. La seul solution que j'ai trouver.... c'est d'utiliser une iframe pour l'un des deux (BEURK, cela me pose plein d'autres problèmes). Je vous en prie, je vous serais très reconnaissant de bien vouloir m'éclairer. Modifié 29 Juillet 2008 par nebuchad34
Prélude Posté 29 Juillet 2008 Posté 29 Juillet 2008 Bonjour, Il faudrait connaître le contenu des 2 includes pour pouvoir répondre correctement. Mais sinon, si il s'agit de 2 bases, peut-être qu'un simple "mysql_close();" pourrait suffire entre les deux fichiers...
Kioob Posté 29 Juillet 2008 Posté 29 Juillet 2008 Bonjour, il y a des chances également pour que le script ne conserve pas le "mysql handle" pour l'appel aux fonctions mysql_xxx() ; donc PHP mélange tout oui. A moins que ce soit un pseudo cache du script mal fichu. M'enfin, comme le dit Prélude sans connaitre le contenu du script on ira pas bien loin.
nebuchad34 Posté 29 Juillet 2008 Auteur Posté 29 Juillet 2008 voilà le contenu du fichier "aff_news.php" : CODE <script LANGUAGE="JavaScript"> function popup(page) { window.open(page,'popup','width=345,height=480,directories=no,menubar=no,status=no,location=no,resizab le=no,scrollbars=yes,top=50,left=270'); } function alert_news() { alert("Ok !\n\nVotre news nous a été soumise avec succès.\n Après vérification et si elle est acceptée sa publication sera effective d\'ici quelques jours."); } function verifsubmit() { var ok_return = true; var titre = window.document.ajouter.titre.value; var texte = window.document.ajouter.texte.value; if (titre == "") { alert("Vous n'avez pas renseigné le titre de la news"); var ok_return = false; } else if (texte == "") { alert("Vous n'avez pas écrit de texte"); var ok_return = false; } return ok_return } </SCRIPT> <?php if ($aff_news != "1") { include ("config.php"); include ("functions.inc.php"); include ("options.inc.php"); } $aff_news = 1; $save_debut = $debut; if ($what_aff == "grand_format") $limit = $nb_news; elseif ($what_aff == "petit_format") $limit = $nb_news_petit; elseif ($what_aff == "archives") $limit = $nb_news_arch; @MYSQL_CONNECT ($serveur_z,$login_z,$pass_z) or die ("Erreur, connexion à la base de données impossible"); mysql_select_db($base_z); $query = "select * from options"; $resultat = mysql_query($query); while ($ligne = mysql_fetch_array($resultat)) { $code_html13[1] = stripslashes($ligne["code_html1"]); $code_html23[1] = stripslashes($ligne["code_html2"]); $code_html33[1] = stripslashes($ligne["code_html3"]); } if ($debut == "") $debut = 0; if ($arch == "1") $soustr = 0; if ($arch == "2") { $debut += $nb_news; $soustr = $nb_news; } elseif ($arch == "3") { $debut += $nb_news_petit; $soustr = $nb_news_petit; } elseif ($arch == "4") { $debut += $nb_news + $nb_news_petit; $soustr = $$nb_news + $nb_news_petit; } if ($what_aff == "grand_format" or ($what_aff == "petit_format" && $format == "1")) $query = "select * from news where validation='1' order by date_news DESC limit $limit"; elseif ($what_aff == "petit_format" && $format == "0") $query = "select * from news where validation='1' order by date_news DESC limit $nb_news,$limit"; elseif ($what_aff == "suite") $query = "select * from news where (id_news='$id_news' && validation='1')"; elseif ($what_aff == "archives") $query = "select * from news where validation='1' order by date_news DESC limit $debut,$limit"; if ($recherche == "1") $query = "select * from news where validation='1' order by date_news DESC"; $resultat = mysql_query($query); $nb_news = mysql_num_rows($resultat); $nblignes = $nb_news; $i = 1; while ($ligne = mysql_fetch_array($resultat)) { $id_news3[$i] = $ligne["id_news"]; $titre3[$i] = $ligne["titre"]; $date_news3[$i] = $ligne["date_news"]; $titre3[$i] = $ligne["titre"]; $texte3[$i] = $ligne["texte"]; $texte23[$i] = $ligne["texte2"]; if ($recherche == "1") { $save_titre3[$i] = noaccents($titre3[$i]); $save_titre3[$i] = strtolower($save_titre3[$i]); $save_titre3[$i] = trim($save_titre3[$i]); $save_texte3[$i] = noaccents($texte3[$i]); $save_texte3[$i] = strtolower($texte3[$i]); $texte23[$i] = noaccents($texte23[$i]); $texte23[$i] = strtolower($texte23[$i]); } $i = $i + 1; } $query = "select * from news where validation='1'"; $resultat = mysql_query($query); $nb_news_tot = mysql_num_rows($resultat); $nb_news_tot -= $soustr; $i = 1; if ($recherche == "1") { include ("moteur/moteur.php"); } elseif ($what_aff == "grand_format") { while ($i <= $nb_news) { $query = "select * from commentaires where id_news='$id_news3[$i]'"; $resultat = mysql_query($query); $nb_comment = mysql_num_rows($resultat); $code_insert = aff_news_gf($code_html13[1],$date_news3[$i], $titre3[$i],$texte3[$i],$texte23[$i],$id_news3[$i]); echo "$code_insert"; echo "<br>"; $i++; } } elseif ($what_aff == "petit_format") { while ($i <= $nb_news) { $code_insert = aff_news_pf($code_html23[1],$date_news3[$i],$titre3[$i],$id_news3[$i]); echo "$code_insert"; echo "<br>"; $i++; } } elseif ($what_aff == "suite") { $query = "select * from commentaires where id_news='$id_news3[$i]'"; $resultat = mysql_query($query); $nb_comment = mysql_num_rows($resultat); $code_insert = aff_news_gf($code_html33[1],$date_news3[$i],$titre3[$i],$texte3[$i],$texte23[$i],$id_news); echo "$code_insert"; } elseif ($what_aff == "archives") { include ("moteur/moteur_form.php"); echo "<br>"; $i = 1; while ($i <= $nb_news) { $query = "select * from commentaires where id_news='$id_news3[$i]'"; $resultat = mysql_query($query); $nb_comment = mysql_num_rows($resultat); $code_insert = aff_news_gf($code_html13[1], $date_news3[$i],$titre3[$i],$texte3[$i],$texte23[$i],$id_news3[$i]); echo "$code_insert"; echo "<br>"; $i++; } echo "<center><font size=\"2\" face=\"Arial\">"; $page = ceil($save_debut / $nb_news_arch) + 1; $nb_pages = ceil($nb_news_tot / $nb_news_arch); if ($nb_pages > 1) { if ($page > 1) { $debut = ($page - 2) * $nb_news_arch; echo "<b><a href=\"$url_archives?debut=$debut\" style=\"color: #000000\"><précédente</a></b> "; } else echo "<précédente "; echo "<b>[</b> "; $a = 1; while ($a <= $nb_pages) { $debut = ($a - 1) * $nb_news_arch; if ($a == $page) echo "$a"; else echo "<b><a href=\"$url_archives?debut=$debut\" style=\"color: #000000\">$a</a></b>"; if ($a < $nb_pages) echo "-"; $a++; } echo " <b>]</b>"; if ($page < $nb_pages) { $debut = $page * $nb_news_arch; echo " <b><a href=\"$url_archives?debut=$debut\" style=\"color: #000000\">suivante></a></b> "; } else echo " suivante> "; } if ($nb_news < 1) { echo "<p align=\"center\"><font size=\"2\" face=\"Arial\"> <b>- il n'y a pas d'archives pour le moment -</b></font></p>"; } echo "</font></center>"; } elseif ($what_aff == "prop_news") { if ($ajouter_news != "") { $date_news = date("Y/m/d H:i"); $date_ajout = date("d/m/Y"); $query = "insert into news values('','$titre','$date_news','0', '$texte','$texte2','Personne_extérieure','$date_ajout')"; $resultat = mysql_query($query); $from_email = "news_AT_prologin.fr"; $entetedate = date("D, j M Y H:i:s"); $entetemail = "From: $from_email \n"; $entetemail .= "Reply-To: $from_email \n"; _AT_mail("$votre_email", "Bonjour,\n\nUne nouvelle news vient d'être soumise sur votre site $url_site, vous pouvez la valider ou la supprimer à cette adresse:\n\n$url_site/$rep_smileys/index.php.\n\n\n news - copyright ©, Prologin;fr (http://www.prologin.fr)", "", $entetemail); echo "<script language=\"Javascript\">"; echo "alert_news();"; echo "</script>"; } $query = "select * from smileys"; $resultat = mysql_query($query); $nb_smile = mysql_num_rows($resultat); $i = 1; while ($ligne = mysql_fetch_array($resultat)) { $id3[$i] = $ligne["id"]; $nom3[$i] = $ligne["nom"]; $i = $i + 1; } echo "<table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"6\">"; echo "<tr><form name=\"ajouter\" method=\"post\" action=\"$url_prop_news\" language=\"Javascript\" onsubmit=\"return verifsubmit()\"><td width=\"100%\" height=\"21\" colspan=\"8\"></td></tr>"; $admin_ok = 0; include ("form_news.php"); echo "<p align=\"center\"><input type=\"submit\" value=\"- Envoyer -\" name=\"ajouter_news\"><br> </td></tr></form></table>"; } _AT_mysql_close(); ?>
Kioob Posté 29 Juillet 2008 Posté 29 Juillet 2008 (modifié) if ($aff_news != "1"){include ("config.php");include ("functions.inc.php");include ("options.inc.php");}$aff_news = 1; La configuration de la connexion à MySQL n'est chargée qu'une seule fois, donc les deux includes c'est la même base de données qui est utilisée. Modifié 29 Juillet 2008 par Kioob
nebuchad34 Posté 29 Juillet 2008 Auteur Posté 29 Juillet 2008 il y a portant bien deux fichiers aff_news.php, deux fichiers config.php.... Vraiment vous navez pas une solution ? Si je met sqlclose entre les deux il me génère un message d'erreur
Kioob Posté 29 Juillet 2008 Posté 29 Juillet 2008 Je t'ai indiqué où est le problème à mon avis. La solution est simplement de corriger cela. :S
nebuchad34 Posté 29 Juillet 2008 Auteur Posté 29 Juillet 2008 (modifié) Euh... Je suis un peu blond des fois... en totu cas, ça marche. MERCI ! Modifié 29 Juillet 2008 par nebuchad34
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant