Problème de fonction [PHP/MYSQL]

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 de fonction [PHP/MYSQL]

Re: Problème de fonction [PHP/MYSQL]

par xTG » 09 mars 2012, 16:45

Dans un site on a généralement un fichier qui quelque soit la page est chargé.
Un fichier de configuration qui contient généralement au moins les identifiants BDD par exemple.
A toi d'adapter ta structure de site pour avoir quelque chose de fonctionnel. ;)

Car sinon ce que tu demandes n'existe pas. C'est à toi de le faire.

Re: Problème de fonction [PHP/MYSQL]

par diablanc » 09 mars 2012, 15:09

Merci xTG, =D>

Ca fonctionne en déclarant ma variable $conn en globale en début de page, j'aurais une autre question à poser :

Peut on déclarer un include :
include ('dbconn.inc');
en global aussi afin de ne pas le ré inclure dans les fonctions à chaque fois?

Merci

Re: Problème de fonction [PHP/MYSQL]

par xTG » 09 mars 2012, 14:48

Cela doit venir de l'instruction require_once().
Elle permet de ne pas réinclure un fichier préalablement inclus.
Sauf que du fait de la portée des variables la variable $conn n'est pas disponible dans la fonction.

Il serait mieux d'inclure ce fichier en dehors de toute fonction.
Et de passer en global la variable $conn.

Exemple :
$maVar = 1;
function affichage(){
  global $maVar;
  echo $maVar;
}

Problème de fonction [PHP/MYSQL]

par diablanc » 09 mars 2012, 13:53

Bonjour,

Toujours dans mon auto formation, dur dur mais ça avance ....
La j'ai un problème au niveau de mes fonctions, je les ais regroupées dans un seul fichier "Fonction.php", mon soucis c'est qu'une fonction fonctionne parfaitement, celle-ci :
function LastArticle()
{
require_once('dbconn.inc');
$reponse = $conn->query("SELECT Date, Titre, Texte, Image FROM articles ORDER BY id DESC LIMIT 0,10");

while ($donnees = $reponse->fetch_array())
{
$date = new DateTime($donnees['Date']);
$Texte= html_entity_decode($donnees['Texte']); // on decode le html de la base de donnée
$Titre = $donnees['Titre'];
$image = $donnees['Image'];

echo  htmlspecialchars($date->format(' \L\e d / m / Y')) . '<h1>' . htmlspecialchars($donnees['Titre']) .'</h1>
</div><p><img src="images/'. htmlspecialchars($donnees['Image']) .'" width="300" height="200" alt="" 
style="float:right;padding:0 0 0 20px" /><br />'. $Texte .'</p>';
}
Mais une autre identique me donne un problème, c'est celle ci :
function OldArticles()
{
require_once('dbconn.inc');
$reponse = $conn->query("SELECT Date, Titre, Texte, Image FROM articles ORDER BY id DESC LIMIT 0,1");

while ($donnees = $reponse->fetch_array())
{
$date = new DateTime($donnees['Date']);
$Texte= html_entity_decode($donnees['Texte']); // on decode le html de la base de donnée

echo  htmlspecialchars($date->format(' \L\e d / m / Y')) . '<h1>' . htmlspecialchars($donnees['Titre']) .'</h1>
</div><p><img src="images/'. htmlspecialchars($donnees['Image']) .'" width="58" height="39" alt="" 
style="float:left;padding:0 0 0 20px" /><br />'. $Texte .'</p>';
}
}
L'erreur est la suivante :
Notice: Undefined variable: conn in D:\wamp\www\MiniForum\fonctions.php on line 8
La variable $conn est contenue dans le fichier dbconn.inc et correspond à ma connection à la base de donnée. Je ne comprend pas pourquoi ça fonctionne parfaitement dans la première fonction et pas dans la deuxième....

Merci de votre aide :D