Page 1 sur 1

Fonction dynamique et formulaire

Posté : 30 août 2013, 19:17
par ionesco
Bonjour,
J'essaie de rédiger une fonction qui me permettra de créer un e-mail à partir des champs d'un formulaire.
Ladite fonction a trois paramètres et doit retourner l'e-mail: function mail($nom,$prenom,$domain).
J'ai écrit ce code mais j'ai une erreur à laquelle je ne comprends absolument rien : Fatal error: Cannot redeclare mail()
J'éprouve quelques difficultés avec les fonctions, je commence tout juste.
A partir des champs, je souhaiterais générer automatiquement une adresse e-mail avec un nom de domaine particulier (pour un institut par ex).
Je ne sais pas où mettre le echo mail() et quels paramètres. J'ai besoin de récupérer les informations de l'utilisateur.
Mon code php qui se trouve sur la même page que mon form:
<?php 
function mail($nom,$prenom,$domain){
	if((isset($_POST['nom']) && $_POST['nom']!='') && $_POST['prenom']!=''){
		$nom=$_POST['nom'];
		$prenom=$_POST['prenom']; 
		$domain='nomInstitut.fr'; 
		if(function_exists($nom)){
			$email=$nom.'.'.$prenom.'@'.$domain; 
			return $email; 
		} else {
			echo "Remplissez les champs"; 
		}
	}
}
echo mail("nom","prenom","nomInstitut.fr");
?>
Mon formulaire :
<!DOCTYPE>
<html>
<body>
<form method="post" action="functionCreerMail.php">
Nom <input type="text" name="nom" value="<?=isset($_POST['nom']) ? $_POST['nom']:''?>"/><br>
Prénom <input type="text" name="prenom" value="<?=isset($_POST['prenom']) ? $_POST['prenom']:''?>"/><br>
<input type="submit" value="CreerMail">
</form>
</body>
</html>
Si quelqu'un a une petite idée de ce qui cloche, ce serait super.
Cdlt,
Ionesco

Re: Fonction dynamique et formulaire

Posté : 30 août 2013, 20:09
par moogli
salut,


j'ai même pas regardé ton code :)

mail est une fonction native php et donc tu ne peux coder une fonction avec ce nom, pas plus qu'une fonction echo ou htmlentites ;)

dans ton bonheur si tu utilise php 5.3 ou plus il existe les espaces de noms ( ou namespaces) http://fr2.php.net/namespace

@+

Re: Fonction dynamique et formulaire

Posté : 30 août 2013, 20:22
par ionesco
Merci Moogli.
Trop la loose. Et oui. Je n'ai pas tilté du tout!
Shame on me.
J'ai réussi à créer l'e-mail. J'aurais pu tourner en rond longtemps encore!
J'ai gagné un temps précieux.
J'ai modifié ma condition aussi
if($nom && $prenom) au lieu de  if(function_exists($nom))
J'ai déplacé le echo.
Cdlt,
Ionesco