Si tu mets "<?php" (et pas "<?", au passage) quelque part dans ton texte, c'est que avant, tu écris du HTML, et après, tu écris du PHP. A l'endroit où tu l'as mis dans ton code, tu es déjà en PHP, donc c'est pas nécessaire.
Ensuite, tu es en train de construire une variable chaîne de caractères, donc, tu ne le fais pas avec un "echo", qui sert à afficher des choses à l'écran (même si tu t'en serviras probablement après pour afficher la variable $html). Il faut le faire par concaténation :
$html .= '<input type="text" name="email" value="'. $email . '" size="40">';
Au passage en HTML les valeurs des attributs sont entre guillemets.
Quant au return, j'imagine qu'il est là parce que la variable $html est renvoyée par une fonction... Sinon... j'ose même pas y penser
Partager