Rechercher : dans
Par :

Appel de fonction php à l'ouverture d'une pag

Dernière réponse le 8 mar 2009 à 20:59:50 Fruustyler, le 8 mar 2009 à 16:57:30 
 Signaler ce message aux modérateurs

Bonjour,

Je débute dans la création de site et j'ai un petit problème.

J'ai fait un site dont la page d'accueil est censée afficher des news (sur les musiques). Pour cela, j'ai créé une base de donnée avec mySQL dont chaque ligne correpond à une news, avec les champs correpondant (id, titre, date, etc.)

J'ai ensuite fait une petite fonction d'affichage en php, en fait une boucle qui va parcourir chaque ligne de la base de donnée mySQL, récupérer les informations et générer le code HTML adéquat en incluant chacune des informations sous forme d'un tableau.

Le problème est qu'il faudrait que cette fonction d'affichage soit enregistrée dans un autre fichier afficheur.php, et que cette fonction soit appelée automatique à l'ouverture de la page, afin de générer automatiquement les news sur la page d'accueil. Or, il est facile d'appeler une fonction php grâce à un formulaire (<form action="afficheur.php">), mais je ne sais pas si il est possible de faire cela directement, à l'ouverture de la page, sans que l'on aie besoin de valider grâce à un input ou autres.

C'est possible? Ou sinon, comment dois-je organiser globalement le site et les fonctions de façon à afficher ces news automatiquement?

Merci d'avance pour les réponses!

Configuration: Windows XP
Firefox 2.0.0.20

Meilleures réponses pour « Appel de fonction php à l'ouverture d'une pag » dans :
[PHP] Headers already sent by..... VoirLorsque vous utilisez une fonction PHP qui manipule les en-têtes HTTP comme par exemple: header() setcookie() session_start() Il est important d'utiliser ces fonctions avant d'avoir généré le moindre flux vers le client. A partir du moment où...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
Javascript - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction...
PHP - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...

1

lucasc, le 8 mar 2009 à 19:52:29

Salut,

Oui c'est tout à fait possible !!

Il te suffit d'écrire cette ligne entre tes balises php :

include ("mapage.php");


et voila :)

PS : comme c'est écrit ci-dessus ca suppose que le html où est écrit ce code et la page mapage.php sont dans le même répertoire.

Répondre à lucasc

2

Fruustyler, le 8 mar 2009 à 20:13:57

Ouais, mais j'ai une question: à ce moment là, la page où l'on met le "include" doit être une page php, puisque c'est une fonction php.

Mais si je veux faire appel à cette fonction à l'ouverture d'une page ayant l'extension .html, comment faire?

Parce que le problème est qu'on est obligé de faire une page d'accueil avec l'extension .html, et non l'extension .php, sinon tout le monde ne pourra pas y accéder correctement... si?

Faut m'excuser si je raconte n'importe quoi, hein, j'suis encore un peu perdu :D

Mais par exemple une page de ce type http://www.krinein.com/ ne me semble pas avoir de balises php, et pourtant fait appel (à l'ouverture) à des fonctions php comme l'affichage des 10 dernières news (que l'on peut voir sur la gauche).

Répondre à Fruustyler

3

lucasc, le 8 mar 2009 à 20:24:18

Non tu peut très bien avoir un index.php

Répondre à lucasc

4

KorriganVehuiah, le 8 mar 2009 à 20:26:21

Il te suffit de renommer "mapage.html" en "mapage.php". Normalement tout le monde y a accès, puisque le php est un langage qui "parle" au serveur, lui demande d'interpréter tes "ordres" (afficher les news) et envoie au client (le visiteur) une page en code html.

EDIT : par rapport au lien que tu donnes, tu ne vois pas le php dans le code source de la page, puisque le serveur t'envoie le tout en html ;)

Répondre à KorriganVehuiah

5

lucasc, le 8 mar 2009 à 20:27:54

C'est même sûr que tous le monde a accès aux index.php...

Répondre à lucasc

6

KorriganVehuiah, le 8 mar 2009 à 20:45:02

Effectivement. Je viens de vérifier avec un navigateur en mode texte, aucun problème...

Répondre à KorriganVehuiah

7

Fruustyler, le 8 mar 2009 à 20:45:21

Ah bon?

Moi, dans ma grande naïveté, je pensais que ce genre de sites (de la même manière que blogs et autres trucs dans ce genre) étaient en fait une page en .html (telle qu'on la voit dans le code source) qui servait en fait d'interface client, avec derrière des fichiers en .php qui géraient tout cela de manière implicite, le créateur du site devant faire les liens entre les deux de manière intelligente, comme par exemple un appel de fonctions php à l'ouverture de la page.

Alors j'essayais de faire de même, c'est à dire faire une séparation nette entre le code html et les fonctions en .php.

Mais alors, une question simple (inutile d'entrer dans les détails, je veux pas décourager les gens): si j'envoie à l'hébergeur mon site sous forme de pages en .php intégralement (y comprit la page d'index), l'adresse ne risque-t-elle pas de devenir un truc du genre www.monsite.php ? Un peu comme les sites en .html en fait.

Parce que si je suis bien ce que vous dites, j'enverrai des pages en .php contenant à la fois des parties de code en php + des parties de codes en html, qui seront analysées par l'hébergeur, puis réenvoyées au client sous forme de pages en .html dans lesquelles n'apparaîtront que les parties du code HTML. C'est bien cela?

Bon, je dois probablement poser des questions connes, mais je veux être sûr de ce que je fais, et je n'ai jamais encore mit de site en ligne donc je ne sais pas trop comment cela se passe.

En tout cas merci :D

Répondre à Fruustyler

8

lucasc, le 8 mar 2009 à 20:51:20

Ne t'inquiète pas. :)

Dans la barre d'adresse il s'affichera par exemple :

www.monste.com/contact.php

ou si par exemple tu a un dossier protégé qui s'appelle admin :

www.monste.com/admin/page_protege.php

Répondre à lucasc

9

KorriganVehuiah, le 8 mar 2009 à 20:51:46

Reprenons.

Ta page html peut comprendre des éléments de code php. Le php est prévu pour venir s'imbriquer dans le html. Ta page prend donc un nom genre mapage.php

Quand un client appelle la page mapage.php (il doit bien utiliser l'extension .php !), le serveur interprète le code en php et renvoie du code html au navigateur du client, pour qu'il puisse l'afficher. La page s'appelle TOUJOURS mapage.php

Si ton site est http://www.monsite.com, sa page d'accueil doit s'appeler "index". Si il y a ne serait-ce qu'une ligne de code php, elle s'appelle index.php

Quelqu'un qui tape http://www.monsite.com arrivera sur http://www.monsite.com/index.php

Pour plus d'infos sur le PHP, je te conseille le site du zero : http://www.siteduzero.com

Tu y trouveras également une formation PHP/MySQL pas à pas qui est géniale.

Courage et bonne continuation. N'hésite pas si tu as d'autres questions !

Répondre à KorriganVehuiah

10

lucasc, le 8 mar 2009 à 20:52:56

N'hésite pas à poser d'autre questions (même si elles te paraissent bêtes ...), c'est comme ça qu'on apprend !

on apprend aussi en codant un max :)

Répondre à lucasc

11

KorriganVehuiah, le 8 mar 2009 à 20:55:15

C'est clair ! Et n'oublie pas : une question est bête tant qu'elle n'est pas posée ;)

Répondre à KorriganVehuiah

12

 Fruustyler, le 8 mar 2009 à 20:59:50

Eh bien, merci beaucoup, je comprends beaucoup mieux comment ça marche maintenant :D

Et merci aussi pour les liens, c'est toujours utile :)

Répondre à Fruustyler