Problème avec la fonction echo

Sinouplen Messages postés 3 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 15 novembre 2005 - 14 nov. 2005 à 23:59
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 15 nov. 2005 à 12:26
Bonjour,

J'aimerais avoir un petit renseignement à propos de la fonction echo.
J'aimerais faire un
echo "<?php $this->secure() ?>" et que ça ne coupe pas l'execution du script php retourner par la fonction echo...Est ce possible???

Car quand je fais ça, sur la page qui recoit le echo, je vois :
secure() ?>
Comme si c'était du langage html...Puis forcément le script php derrière ne fonctionne pas.

Merci d'avance pour votre aide.

J'espère trouver une solution à ce problème(J'ai essayer avec addslashes() et tout ça ;)).

6 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
15 nov. 2005 à 00:00
<?php echo $this->secure(); ?>
0
Sinouplen Messages postés 3 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 15 novembre 2005
15 nov. 2005 à 00:09
Le problème ne vien pas de ca.

le echo est bien entre les balise php

<?php
echo "<?php $this->secure() ?>"
?>

Mais ce que je veux savoir c'est si la fonction echo peut elle même appeler du php à l'interieur et qu'il ne prenne pas ça comme du html.

Je vais m'explique un peu plus.

En gros, j'utilise une class formulaire que j'appelle donc par des fonctions en php.
Ensuite je retourne le formulaire crée par la class dans un echo et dans cette echo j'ai besoin d'exécuter du php en plein milieu.
En plein milieu je dois avoir :

<?php
echo "du HTML"."<?php $this->secure() ?>"."le reste de mon code html";
?>

Est ce que c'est possible de faire ça ou pas?

Merci beaucoup d'avance.
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
15 nov. 2005 à 00:19
Tu ne peux pas imbriquer les balises de PHP. D'ailleurs, ca n'a aucun sens. Ce que tu veux faire s'appèle de la concaténation.

<?php
echo 'Du html'.$this->secure().'le reste du code';
?>

Aucun problème comme ca !
0
Sinouplen Messages postés 3 Date d'inscription mercredi 9 novembre 2005 Statut Membre Dernière intervention 15 novembre 2005
15 nov. 2005 à 00:41
Je sais que c'est de la concaténation. La concaténation en elle même ne pose pas de problème.

Ce que je veux faire en faites c'est de passer par une class pour faire mon formulaire, ensuite je veux vérifier qu'il n'y a pas de champs vide ou des erreurs dans les champs.
Et je veux faire ça a partir de ma class formulaire, ils faut donc que je fasse appel à du php pour la vérification d'un champ dans mon formulaire.

En gros, à la place de tapez tout ça :




Test de formulaire


.fielderror { color: red; }
.fieldreq { color: blue;}




Veuillez s'il vous plait remplir les champs suivants:



fieldError("Nom","fieldreq")?>">Nom:

" maxlength ="50">




fieldError("Prenom","fieldreq")?>">Prénom:

" maxlength= "50">




fieldError("Societe","fieldreq")?>">Soci&eacute;t&eacute; :

" maxlength ="50">




fieldError("Fonction","fieldreq")?>">Fonction:

" maxlength= "50">




fieldError("Adresse","fieldreq")?>">Adresse:

" maxlength ="50">




fieldError("Telephone","fieldreq")?>">Téléphone

" maxlength= "50">




fieldError("Mail","fieldreq")?>">Mail:

" maxlength ="50">




fieldError("Commentaires","fieldreq")?>">Commentaires:













Je veux passer par

function Formulaire_ajout_multimenu($URL, $mode, $change)
{
//On prend un accés à la base de données sous le nom de $bd_Affichage_Multimenu
$bd_Affichage_Multimenu = new Connexion (NOM, PASSE, BASE, SERVEUR);

//On crée le formulaire qui a pou rméthode POST et Nom de fichier destinataire
//modifier_multimenu.php
$Formulaire_Ajout_Multimenu = new Formulaire("POST", "modifier_multimenu.php",
"Formulaire d'ajout d'un ".$change,"top");

"{su_warning}";

//Les champs Caché qui ne doivent pas etre vu par l'utilisateur
$Formulaire_Ajout_Multimenu->champCache("mode", $mode);
$Formulaire_Ajout_Multimenu->champCache("change", $change);
$Formulaire_Ajout_Multimenu->champCache("modification", "OK");

//Tableau en mode vertical pour les champs simple
$Formulaire_Ajout_Multimenu->debutTable();
if($change=="Menu")
{
//On selectionne les numéro des menus
$Requete_Table = $bd_Affichage_Multimenu->execRequete
("SELECT COUNT(Numéro) AS Numéro FROM menu_temp");
$Requete_Numéro = $bd_Affichage_Multimenu->objetSuivant($Requete_Table);
$Numéro = $Requete_Numéro->Numéro+1;
$Formulaire_Ajout_Multimenu->champTexte("Numéro", "Numéro", $Numéro, "20");
$Formulaire_Ajout_Multimenu->champTexte("Nom", "Nom", "", "20");
$Formulaire_Ajout_Multimenu->champTexte("URL", "URL", "", "20");
$Formulaire_Ajout_Multimenu->champTexte("Affichage", "Affichage", "", "20");
}
else
{
if($change=="SousMenu")
{
$Formulaire_Ajout_Multimenu->champTexte("Nom", "Nom", "", "20");
$Formulaire_Ajout_Multimenu->champTexte("URL", "URL", "", "20");
$Formulaire_Ajout_Multimenu->champTexte("Affichage", "Affichage", "", "20");
//On selectionne les numéro des menus
$Requete_Table = $bd_Affichage_Multimenu->execRequete
("SELECT Nom FROM menu_temp");
$passage = 0;
$Nom_Liste = NULL;
//Tant que la liste des Noms des menu n'est pas terminé on fait
while($Requete_Nom = $bd_Affichage_Multimenu->objetSuivant($Requete_Table))
{
//On récupère le Nom des menu
$Nom = $Requete_Nom->Nom;
//Au premier passage
if($passage == 0)
{
//On crée le tableau $Nom_Menu_Liste
$Nom_Menu_Liste = array($Nom);
//On incrémente passage pour dire que C pas la première fois qu'on passe
$passage++;
}
//Si ce n'est pas le premier passage
else
{
//On ajoute dans le tableau le nom de menu
$Nom_Menu_Liste[] = $Nom;
}
}
//On crée dans le formulaire
$Formulaire_Ajout_Multimenu->champListe
("Nom du Menu de r&eacute;f&eacute;rence", "Nom_Ref", " ", 1, $Nom_Menu_Liste);
}
else
{
echo "Veuillez contacter le wemaster et expliquer l'erreur
";
echo "Erreur : Formulaire_Ajout_Multimenu ".$change;
}
}

$Formulaire_Ajout_Multimenu->debutTable("HORIZONTAL", 1);
$Formulaire_Ajout_Multimenu->champValider("Valider", "valider");
$Formulaire_Ajout_Multimenu->champValider("Annuler", "annuler", $URL);
$Formulaire_Ajout_Multimenu->finTable();

$Formulaire_Ajout_Multimenu->finTable();


$Formulaire_Ajout_Multimenu->fin(TRUE);
}

Qui va tout seul crée mon formulaire et crée la validation de celui ci une vois qu'on envoye le formulaire pour sa validation.

Voilà la class de formulaire :

0

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

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 nov. 2005 à 08:53
Hello,

j'ai pas tout lu...maids tu ne peux pas créer de variables en php avec des espaces.
Je ne suis pas très sûr non plus pour les accents...(à éviter de toutes manières).
Vire déjà ça, après on verra.
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
15 nov. 2005 à 12:26
Voui, déja pas d'accents et d'espaces dans un nom de variable !

Une classe de validation de formulaire ? Je ne crois pas que tu ais compris l'aspect objet de la programmation OO.
Oui, fait un peu de ménage dans tout ca, on verra par la suite !
0
Rejoignez-nous