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

Fermé
Fruustyler - 8 mars 2009 à 16:57
 Fruustyler - 8 mars 2009 à 20:59
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!
A voir également:

11 réponses

lucasc Messages postés 97 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 12 juin 2009 14
8 mars 2009 à 19:52
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.
0
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).
0
lucasc Messages postés 97 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 12 juin 2009 14
8 mars 2009 à 20:24
Non tu peut très bien avoir un index.php
0
KorriganVehuiah Messages postés 171 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 22 mars 2009 70
8 mars 2009 à 20:26
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 ;)
0
lucasc Messages postés 97 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 12 juin 2009 14
8 mars 2009 à 20:27
C'est même sûr que tous le monde a accès aux index.php...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KorriganVehuiah Messages postés 171 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 22 mars 2009 70
8 mars 2009 à 20:45
Effectivement. Je viens de vérifier avec un navigateur en mode texte, aucun problème...
0
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
0
lucasc Messages postés 97 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 12 juin 2009 14
8 mars 2009 à 20:51
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
0
KorriganVehuiah Messages postés 171 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 22 mars 2009 70
8 mars 2009 à 20:51
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 : https://openclassrooms.com/fr/

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 !
0
lucasc Messages postés 97 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 12 juin 2009 14
8 mars 2009 à 20:52
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 :)
0
KorriganVehuiah Messages postés 171 Date d'inscription jeudi 2 octobre 2008 Statut Membre Dernière intervention 22 mars 2009 70
8 mars 2009 à 20:55
C'est clair ! Et n'oublie pas : une question est bête tant qu'elle n'est pas posée ;)
0
Eh bien, merci beaucoup, je comprends beaucoup mieux comment ça marche maintenant :D

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