Probleme avec function [PHP] - Programmation
Marsh Posté le 28-07-2002 à 03:09:05
1. ton champ $vt n'est pas connu dans ton autre fichier (variable locale)
ou bien tu la déclares en global (beurk...) ou bien tu la retournes lors de l'appel à la fonction.
Code :
|
2. en testant (!text), ça te retournera "champ vide si je met "0" dans le champ.
teste plutôt ($text==''.
->
Code :
|
avec dans body.php
Code :
|
Marsh Posté le 28-07-2002 à 19:30:21
Merci, mais comment je fais si j'ai plusieur champs ? Car j'en est mis qu'un en exemple
function.php
function verif($text="", $auteur="" ){ |
body.php
if($_POST['action']=="Envoyer" ){ |
Je sais que se code ne marche pas et qu'il est debile, mais je ne veut pas faire :
$vt= verif($_POST['text']); |
Je voudrais que verif($_POST['text'],$_POST['auteur']); me retourne $va="champs vide" et $vt="champs vide" !
Je pense que c'est possible mais je bloque
Marsh Posté le 29-07-2002 à 04:12:27
tu retournes un tableau alors
function.php
Code :
|
body.php
Code :
|
ou bien tu mets tout en global...
Marsh Posté le 29-07-2002 à 14:56:24
Mais il n'y a pas moyen de retourner plusieurs variables dans un fonction ??
Marsh Posté le 30-07-2002 à 03:10:06
http://dev.nexen.net/docs/php/annotee/ref.funchand.php
aller, bonne lecture
Marsh Posté le 30-07-2002 à 03:21:02
castor666 a écrit a écrit : http://dev.nexen.net/docs/php/annotee/ref.funchand.php aller, bonne lecture |
C'est pas cool la lecture a 3h20 !
Marsh Posté le 30-07-2002 à 07:02:57
Un peu de courage !
bon tu fait :
Code :
|
Et tu apelle la fonction :
Code :
|
J'espere que c'est ce que tu voulais
Marsh Posté le 30-07-2002 à 17:27:57
Heu, je sais comment marche les arguments d'un fonction lol
A la fin d'un fonction, on doit faire return $var pour récuperer notre varialbe à l apel de la fonction. Mais moi je veut retourner plusieur a la fin d'un fonction, et je ne veut pas faire de tableau
function xxx($var1,$var2,$var3){ |
Cette fonction d'exemple ne marche pas !! Et je ne sais pas comment faire pour retourner plusieurs variable sans array !
Marsh Posté le 30-07-2002 à 17:30:02
Une fonction ne te permet de retourner qu'une seule variable, faire un tableau c'est vraiment ce qu'il y a de plus pratique, pq t'en veux pas ?
Sinon il te reste les variables globales, qui marchent tres bien pour ce genre de cas mais c'est moins 'joli'
Marsh Posté le 30-07-2002 à 17:32:23
J'ai fais un tableau mais je trouve sa chiant a gerer apres
$retour['var1'],$retour['var2'],$retour['var3'] !!
Je trouve sa lourd a gerer, Mais si il n'y a pas d'autre moyen tant pis
Marsh Posté le 30-07-2002 à 17:39:43
Rien ne t'obliges à garder le tableau, à la sortie de ta fonction tu peux recuperes les données du tableau ds des variables
Marsh Posté le 30-07-2002 à 17:42:23
Ouais je sais, mais sa m'enerve les ligne a la con juste pour renomer des variable ou les retiré d'un tableau
$var1=$retout['var1'], c'est un truc a la con, autant directement utiliser $retour['var1']
Enfin c'est mon avis
Marsh Posté le 28-07-2002 à 00:01:21
J'ai un script d'ajout de commentaire,
je verifie avant chaque post que les champs ne sont pas vide avec la fonction verif($variable) qui est declaré dans fontcion.php
Dans mon fichier body.php, j'include fonction.php et je fais verif($texte);
Mais verif ne detecte pas quand $text est vide alors que quand je met la function verif dans body sa marche !
Contenu de fonction.php:
function verif($text="" ){
(!$text)? $vt="Champs vide":$vt="";
}
Contenu de body.php :
$dossier="includes";
include $dossier."/fonction.php";
include $dossier."/template.php";
if($_POST['action']=="Envoyer" ){
verif($_POST['text']);
}
$nom=array("TEXT"=>$text, "VERIF TEXT"=>$vt);
$body=new Template("includes/templates" );
$body->set_file("page","body.tpl" );
$body->set_var($nom);
$body->pparse("MyOutput","page" );
Contenu essentiel de body.tpl :
(...)
<form method="POST" name="post" action="body.php">
(...)
<table>
<tr>
<td><textarea rows="10" name="text" cols="50">{TEXT}</textarea></td>
<td>{VERIF TEXT}</td>
</tr>
</table>
(...)
</form>
(...)
Message édité par bozocarzu le 28-07-2002 à 00:03:45