begin process at 2012 05 30 21:35:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Formulaires


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Formulaires

jeudi 6 mai 2010 à 11:33:09 | Formulaires

jmp kjm


Bonjour,

J'ai un problème pour correctement gérer le routage du visiteur vers la bonne application.

Dans index.php j'ai :

Code PHP :
if(!$_POST['ouvrirconsole']){

echo('<form><input type="submit" value="Cliquer ici pour ouvrir la console" name="ouvrirconsole"></form>');

}


Ailleurs dans index.php j'ai :

Code PHP :
if($_POST['ouvrirconsole']){

include('console.php');

}


Dans console.php j'ai :

Code PHP :
<form><input type="submit" value="Cliquer ici pour supprimer le site" name="suppressiondusite"></form>'

if($_POST['suppressiondusite']){

supprimerSite();

}


Quand on clique sur "Cliquer ici pour supprimer le site" le problème est que comme on est dans un nouveau formulaire alors $_POST['ouvrirconsole'] n'est plus défini et donc on ne recharge plus console.php !

Dans le cas présent bien sûr qu'il y a des solutions faciles comme par exemple mettre le

Code PHP :
if($_POST['suppressiondusite']){

supprimerSite();

}


dans index.php au lieu de console.php ou même dans console.php rajouter entre <form> et </form> un

Code PHP :
<input type="hidden" value="1" name="ouvrirconsole">


Mais mon application est en réalité beaucoup plus compliquée et je cherche une solution sans bricolage de ce type pour ce problème.

Je vous remercie pour votre aide !

KJM
jeudi 6 mai 2010 à 12:09:14 | Re : Formulaires

devil_may_cry

salut ce son tes controle qui te fausse tu test les variable poste comme si c'était des variables bool au lieu de tester si elle ont eété envoyer donc au lieu de
Code PHP :
if(!$_POST['ouvrirconsole']){

echo('<form><input type="submit" value="Cliquer ici pour ouvrir la console" name="ouvrirconsole"></form>');

}

met plutot
Code PHP :
if(!isset($_POST['ouvrirconsole'])){

echo('<form><input type="submit" value="Cliquer ici pour ouvrir la console" name="ouvrirconsole"></form>');

}

ainsi de suite en guise de complement la function isset($var) retourne vrai si la variable existe (dans ton cas ton formulaire a bien été envoyé) ou faux dans le cas contraire
jeudi 6 mai 2010 à 13:51:19 | Re : Formulaires

jmp kjm

Bonjour,

Merci pour ta réponse mais là n'est pas le problème.

Le problème c'est que lorsque l'on clique sur "Cliquer ici pour ouvrir la console" la variable $_POST['ouvrirconsole'] n'est plus définie et donc on n'inclut plus console.php e et ainsi on a pas accès à supprimerSite(); bien que $_POST['suppressiondusite'] soit défini.

KJM
jeudi 6 mai 2010 à 13:55:38 | Re : Formulaires

devil_may_cry

dans ton form il manque
<form action='le_nom_du_script' method='post'>
jeudi 6 mai 2010 à 14:00:14 | Re : Formulaires

jmp kjm


Bonjour,

Oui j'ai écrit en simplifié, en réalité j'ai <form method="post" enctype="multipart/form-data"> et l'action post se fait sur la page courante mais là encore ce n'est pas le problème que je décris.

KJM
jeudi 6 mai 2010 à 14:15:19 | Re : Formulaires

devil_may_cry

bon la je peux te proposer une solution en utilisant du javascript en effet elle consite a recreer $_POST['ouvrirconsole'] avant d'envoyer le formulaire le seul changement que tu auras a a faire c'est remplacer ton input type ="submit" et ajouter onclick="lafonction javascript" si cette solution te vas je peut t'aider la dessus sinon je suis a cours d'idé
jeudi 6 mai 2010 à 14:26:42 | Re : Formulaires

jmp kjm

Rebonjour,

Je suis intéressé par cette solution il me semble que ça fera très bien l'affaire !

Merci beaucoup.

KJM
jeudi 6 mai 2010 à 14:45:10 | Re : Formulaires

devil_may_cry

donc voila ce que tu vas faire
dabord le javascript
<script type="text/javascript">
function send() {

if( document.all){ // pour IE
input = document.createElement("<input name='ouvrirconsole'>");
} else { // pour FF et autres navigateurs
input = document.createElement("input");
input.name = "ouvrirconsole"
}
input.type='hidden';
input.value = '1';
document.getElementById('formsupp').appendChild(input);
document.getElementById('formsupp').submit();
}
</script>
<form>
<input type="submit" value="Cliquer ici pour supprimer le site" name="suppressiondusite">
</form>
va devenir
<form id="formsupp" action="" method="post">
<input type="button" value="Cliquer ici pour supprimer le site" name="suppressiondusite" onclick="send()">
</form>
jeudi 6 mai 2010 à 16:27:42 | Re : Formulaires

jmp kjm


Merci beaucoup c'est très instructif !

Bonne continuation.

KJM
vendredi 7 mai 2010 à 10:15:27 | Re : Formulaires

kohntark

Membre Club
Salut,

Ca me parait bien compliqué tout ça

Qu'est ce que c'est que cette console ? Une nouvelle fenêtre ? un div dans la page ? Autre chose ?

Bref, il faudrait plus de précisions. Mais bon, une fonction JS pour faire ça me parait barbare.

@Devil_may_cry :
Je n'ai pas bien compris l'intérêt de ta fonction. Elle revient à mettre un :
<input type="hidden" name="ouvrirconsole" value="1" />
... autant l'écrire en dur en PHP plutôt qu'utiliser le DOM, non ?

@jmp kjm :
pourquoi ne pas utiliser les sessions ? ou traiter les variables POST dans ton include ?
Une fois de plus il faudrait plus de précisions pour bien comprendre, et évite de "simplifier", car nous ne sommes pas censés être au courant; mieux vaut reporter le code tel qu'il est.


Cordialement,



Kohntark -


1 2

Cette discussion est classée dans : code, php, post, console, if


Répondre à ce message

Sujets en rapport avec ce message

Récupération variable rentrée par utilisateur [ par puisea ] Bonjour, alors j'ai commencé en php il y a cinq jours maintenant, et je voudrais savoir comment récupérer une variable rentrée dans un formulaire qui Code php [ par vancutsen ] Bonjour,Je reprend un scrip avec ce code($client=new client ($_POST['Contact_1']);$client->modifier_client ($_POST['Civilite_1'].......soit pour modif Probleme d'auorisation? [ par ghostkill77 ] Bonjour a toutes et a tous. J'ai un souci avec mon code :    session_start();    //AJOUTER    if($_POST["envoi"]=="AJOUTER" && $_POST["code"]!=" " && case a cocher php /mysql [ par yoyo77yo ] Bonjour !! et bonne année J'ai un probleme : j'ai repris le code de quélqu'un que j'ai payé mais par contre il n'est pas complet donc je voudrait Code qui ne marche pas ! [ par nicomilville ] Salut tout le monde,Voila, j'ai un problème avec un code...Je ne sais pas d'ou ça vient...Je n'ai pas d'erreur...Le code de mon fichier connection.php Url en php [ par breezer666cs ] J'ai 1 bouton et un hyperlink dans mon code:            BOBj'essaie Vérification formulaire livre d'or [ par Danamel ] Bonjour à tous J'ai actuellement sur mon site un livre d'or qui fonctionne mais désirant le modifier afin de changer sa présentation je fait un s comment modifier des champs en php [ par medhacen ] slt ts,je suis debutant en php, je veux modifier quelques champs ds une table de ma base. mais je n'arrive pa à realiser cette tâche.malgré le  code n renommage des fichiers sélectionnés [ par DevTry ] Bonjour à tous, Débuttant en php, c'est ma 1ère question sur le forum... J'espère ne pas faire d'impairs... J'ai déjà effectué des recherches dans les php/mysql [ par hadjila20 ] Bonjour à tous ,voilà j'ai un petit problème et j'espère que quelqu'un pourrai m'aider. j'ai un bout de code et le problème est que je n'arrive pas à


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales