Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/03/2007, 17h47   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 4
Points : 2
Points : 2
Par défaut Appel de fonctions par un formulaire

Salut, je débute avec php et je me posais une petite question:

Je code un petit module de news, pour l'instant un simple formulaire qui POST les infos vers un autre script (addNews.php) qui lui les analyse et les ajoutes ou pas dans la db.
A ce niveau la tout est ok.

Ce que j'aimerais faire (si toutefois c'est possible) c'est centraliser toutes mes fonction, dont celle ci, dans un fichier externe "functions.php" et faire, lors de l'envoi du formulaire, quelquechose du genre :

if (addNews)
{
Tout est ok
}
else
{
Specifier quels champs de sont pas, ou mal remplis.
}

addnews renvoie un boolean selon le deroulement.

Le tout sans changer de page (ce qui m'arrive lors du POST). De meme je sais pas si il possible de specifier dans le "action=" du formulaire une fonction externe plutot qu'un fichier php.

J'espere que c'etait assez clair...

Merci.
Mista est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 20h44   #2
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
salut,
c'est plutot bien, je pense, de mettre tes fonctions dans un fichier séparé.
Tu y accède en utilisant include http://us3.php.net/manual/fr/function.include.php ou require http://us3.php.net/manual/fr/function.require.php
en haut de ta page.

Ensuite pour tout mettre sur la même page, tu fais pointer ton formulaire vers la page où il se trouve.

Tu ne peux pas mettre le nom d'une fonction dans le champ action du formulaire. tu pourrais le faire par un moyen détourné en utilisant AJAX mais si tu débutes, je te conseille de bien maitriser les bases avant.
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2007, 22h54   #3
Invité de passage
 
Inscription : décembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 4
Points : 2
Points : 2
Merci, suite à ta réponse j'ai réflechi un peu (pas trop non plus) et j'ai trouvé une solution un peu batarde mais qui me convient bien pour le moment.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<?php
    require("functions.php");
 
    $title     = $_POST["title"];
    $sender    = $_POST["sender"];
    $type      = $_POST["type"];
    $content   = $_POST["content"];
 
    if (isset($title))
	{
	    if (addNews($title, $sender, $type, $content))
		{
		    echo 'La news a bien ete ajoute';
		}
		else
		{
		    echo 'Veuillez remplir tous les champs';
		}
	}    
?>
J'ai mis ca dans la page de mon formulaire et ca fonctionne parfaitement.
Mista est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h27.


 
 
 
 
Partenaires

Hébergement Web