Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2834 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  problème formulaire

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Précédente
Auteur Sujet :

problème formulaire

n°1626562
jeremy1664
Posté le 18-10-2007 à 16:16:47  profilanswer
 

Bonjour,
 
J'aimerai réaliser un petit formulaire tout simple
En fait je voudrais un edit ou l'on peut rentrer une référence
Si la référence existe dans mon site, la page la concernant s'ouvre
Chaque page à une référence et chaque référence à une page
 
J'aimerai juste quelques pistes je sais qu'il faut faire des boucles mais je ne sais pas vraiment comment m'y prendre
 
Merci d'avance
 
j'ai essayer avec ça :
 
 
<form action="reference.php" method="post">
<input type="text" size="30" name="ref"value="" /><input type="submit" value="Valider" /></td></table>
<?
 
if (($_POST['ref'])=='cible') {
 
 
/* Redirige vers une page différente du dossier courant */
 
include ('cible.php');
}
exit;
 
Je veux que si la valeur de l'edit = cible alors la page cible.php s'ouvre
 
 
mais ça ne marche pas :??:  :??:

mood
Publicité
Posté le 18-10-2007 à 16:16:47  profilanswer
 

n°1626569
cvex
$CveX
Posté le 18-10-2007 à 16:23:31  profilanswer
 

Donc si je comprends bien, l'utilisateur doit taper "cible" pour être redirigé vers la page cible.php?
 
Quel est l'intéret?
 
Ca n'aurait pas été plus simple de faire une simple redirection quand l'utilisateur clique, il est orienté vers la page cible.php
 
Edit : Si tu veux faire une redirection, include n'est pas correcte !
Il faut utiliser header('cible.php').

Message cité 1 fois
Message édité par cvex le 18-10-2007 à 16:25:23

---------------
http://forum.hardware.fr/hardwaref [...] 1293-1.htm
n°1626574
jeremy1664
Posté le 18-10-2007 à 16:28:11  profilanswer
 

Merci de ton aide  
Je l'ai déjà fait avec des lien mais comme il s'agit de références il y en a énormément de plus il ne peut pas y avoir de fautes d'orthographe dans une référence donc c'est plus rapide pour l'utilisateur.
Cible correspond au numéro de référence et la page se nomme cible.php

n°1626576
jeremy1664
Posté le 18-10-2007 à 16:29:37  profilanswer
 

J'ai aussi essayer avec header mais je ne sais pas trop m'y prendre donc la page est introuvable

n°1626579
micfont999
Simplement Moi
Posté le 18-10-2007 à 16:31:04  profilanswer
 

Bonjour,
redirection javascript?

n°1626596
soju
One shot !
Posté le 18-10-2007 à 16:37:13  profilanswer
 

cvex a écrit :

Il faut utiliser header('cible.php').

avec le 'Location' c'est mieux :
http://fr.php.net/header#id3338231

n°1626597
jeremy1664
Posté le 18-10-2007 à 16:38:41  profilanswer
 

Comment ça ? je veux juste un truc du genre :
 
Si value=cible
  Alors la page "cible.php" s'ouvre
Sinon Afficher "la page n'existe pas"
 
 

n°1626602
jeremy1664
Posté le 18-10-2007 à 16:44:13  profilanswer
 

Avec header il me renvoi 404 Not found
Est ce que je dois changer quelque chose ?
 
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'rac.php';

n°1626603
micfont999
Simplement Moi
Posté le 18-10-2007 à 16:45:19  profilanswer
 

Code :
  1. if(tontest)
  2. {
  3. ?>
  4. <script language="javascript"
  5. type="text/javascript">
  6. <!--
  7. window.location.replace(
  8. "http://www.un-site.com/une-page.htm" );
  9. -->
  10. </script>
  11. <?php
  12. }
  13. else
  14. {
  15.    echo "Cette page n'existe pas";
  16. }


Message édité par micfont999 le 18-10-2007 à 16:49:45
n°1626604
jeremy1664
Posté le 18-10-2007 à 16:47:17  profilanswer
 

Ouaip je vais essayer avec js merci

mood
Publicité
Posté le 18-10-2007 à 16:47:17  profilanswer
 

n°1626606
micfont999
Simplement Moi
Posté le 18-10-2007 à 16:48:29  profilanswer
 

je t'en pris

n°1626608
jeremy1664
Posté le 18-10-2007 à 16:48:49  profilanswer
 

Mais il y a plusieurs page et je vois pas de variable dans le code (excuse moi mais je connais pas js)

n°1626610
micfont999
Simplement Moi
Posté le 18-10-2007 à 16:50:32  profilanswer
 

Code :
  1. if(tontest)
  2. {
  3. ?>
  4. <script language="javascript"
  5. type="text/javascript">
  6. <!--
  7. window.location.replace(
  8. "<?php echo $tavariable; ?>.php" );
  9. -->
  10. </script>
  11. <?php
  12. }
  13. else
  14. {
  15.    echo "Cette page n'existe pas";
  16. }


 
par exemple :)  
 
 [:magnasuprema]

n°1626634
jeremy1664
Posté le 18-10-2007 à 17:07:21  profilanswer
 

En fait a cause de cette balise :
<form action="reference.php" method="post">  
c'est toujours la page reference.php qui s'ouvre on dirait que le reste du code ne sert à rien

n°1626639
jeremy1664
Posté le 18-10-2007 à 17:08:37  profilanswer
 

Le js je doit le mettre avant ou après le HTML ?

n°1626642
micfont999
Simplement Moi
Posté le 18-10-2007 à 17:10:15  profilanswer
 

bah normal ... tu demande à ton formulaire lors de sa validation d'ouvrir cette page :) lol
<form action"" method="post" onSubmit="javascript:return mafonction(tonchamptexte.value);">
 
et dans ton javascript  
redirection avec le parametre ;)
 
en gros tu met pas d'action à ton formulaire, et quand tu le valide tu lance une fonction javascript qui va faire la redirection en fonction de la valeur de ton champ texte

n°1626646
micfont999
Simplement Moi
Posté le 18-10-2007 à 17:11:29  profilanswer
 

jeremy1664 a écrit :

Le js je doit le mettre avant ou après le HTML ?


 
 
n'importe ou du moment que ce soit dans des balises <script>
ça dépend de ce que tu veux faire ..
soit entre les balises head, soit dans le body
mais pas en dehors de HTML déjà

n°1626653
jeremy1664
Posté le 18-10-2007 à 17:15:02  profilanswer
 

Mafoncton c'est le nom de la fonction js ?
Et Monchampstexte c'est $ref?

n°1626666
micfont999
Simplement Moi
Posté le 18-10-2007 à 17:19:48  profilanswer
 

oui mafonction sera le nom de ta fonction, et monchamptexte sera simplement le nom de l'input de ton formulaire ... :)
 
un exemple

Code :
  1. <html><head><title>Test</title>
  2. <script language="JavaScript">
  3. function confirmation()
  4. {
  5. x = window.confirm("Ce formulaire est destiné à " + document.formulairetest.action);
  6. return x;
  7. }
  8. </script>
  9. </head><body>
  10. <form name="formulairetest" action="mailto:toimeme@ton.com"
  11. onSubmit="return confirmation()">
  12. <input type=text size=40 name="entree">
  13. <input type=submit value="envoi">
  14. </form>
  15. </body></html>


 
pas besoin du javascript:
autant pour moi

n°1626686
jeremy1664
Posté le 18-10-2007 à 17:26:57  profilanswer
 

Ton exemple m'a un peu embrouiller  
Je comprend pas vraiment ce que je doit mettre à la place deMafoncton et de Monchampstexte dans mon code  
 
<form action="" method="post" onSubmit="javascript:return mafonction($ref.value);">
<input type="text" size="30" name="ref" value="" /><input type="submit" value="Valider" />
<?
 
if (($_POST['ref'])=='cible') {
 ?>
 <script language="javascript"
type="text/javascript">
 <!--
 window.location.replace(
 "http://gs-computer.eu/index.php?mod=cible&lang=fr" );
 -->
 </script>
 <?php
 }
 else
 {
    echo "Cette page n'existe pas";
 }
 ?>
 
Merci beaucoup pour ton aide

n°1626691
jeremy1664
Posté le 18-10-2007 à 17:31:43  profilanswer
 

Ma fonction c'est window.location.replace ?

n°1626699
micfont999
Simplement Moi
Posté le 18-10-2007 à 17:34:59  profilanswer
 

alors attention :  
javascript ne reconnaitra absoluement pas les variables php ...  
donc le $ref dans javascript tu oublis
 
Ensuite :  
voila je vais pas te macher tout le boulot mais ça donnera un truc du style

Code :
  1. <html><head><title>Test</title>
  2. <script language="JavaScript">
  3. function redirectionchamptexte(parametre)
  4. {
  5. window.location.replace(parametre+".php" );
  6. return true;
  7. }
  8. </script>
  9. </head><body>
  10. <form name="formulairetest" action="" onSubmit="return redirectionchamptexte(entree.value)">
  11. <input type=text size=40 name="entree">
  12. <input type=submit value="envoi">
  13. </form>
  14. </body></html>


 
voila analyse bien ce que je viens de te donner, je reviens demain moi, bonne soirée :)

n°1626703
jeremy1664
Posté le 18-10-2007 à 17:38:42  profilanswer
 

C'est vraiment sympa je vais me débrouiller merci beaucoup

n°1626846
cvex
$CveX
Posté le 18-10-2007 à 22:18:17  profilanswer
 

soju a écrit :

avec le 'Location' c'est mieux :
http://fr.php.net/header#id3338231


 
Oui merci de la précision ^^ J'avais oublié de le préciser :)


---------------
http://forum.hardware.fr/hardwaref [...] 1293-1.htm
n°1626939
jeremy1664
Posté le 19-10-2007 à 09:06:01  profilanswer
 

Salut micfont999 j'essaie de changer tous les paramètres dans la fonction mais je suis toujours redirigé vers la page d'accueil de mon site

n°1626944
micfont999
Simplement Moi
Posté le 19-10-2007 à 09:10:08  profilanswer
 

ah comment ça?

n°1626947
jeremy1664
Posté le 19-10-2007 à 09:17:34  profilanswer
 

Ben en fait l'adresse de la page référence c'est ça : http://gs-computer.eu/index.php?mo [...] ce&lang=fr
et avec le script si je veux qu'il me renvoi à la page rs485 il me donne cette adresse : http://gs-computer.eu/index.php?entree=rs485 et me redirige sur ma page d'accueil alors que j'ai mis ça : window.location.replace("http://www.gs-computer.eu/index.php?mod="parametre+"&lang=fr" ); dans le code js

n°1626951
micfont999
Simplement Moi
Posté le 19-10-2007 à 09:22:25  profilanswer
 

evite les url absolues la dedant (avec http et tout le tointoin)
 
sinon essai ça :

Code :
  1. window.location.replace("index.php?entree="+parametre+"" );


 
dans ton exemple tu avait oublié une concaténation (+) avant le paramètre, et tu lui demandais d'avoir en passage de paramètre GET (ce qui ce trouve après le index.php?) mod.. toi tu ne veux pas mod tu veux entree déjà :)  
 
voila :)
 
edit : c'est pas terrible au niveau design à mon gout personnel  
 [:magnasuprema]  désolé il fallait que je donne ma petite touche de chianterie :)


Message édité par micfont999 le 19-10-2007 à 09:23:28
n°1626958
jeremy1664
Posté le 19-10-2007 à 09:32:51  profilanswer
 

J'ai toujours le même problème  
Il me renvoi cette adresse : http://gs-computer.eu/index.php?entree=rac
Il devrait me renvoyer ça :http://gs-computer.eu/index.php?mod=rac&lang=fr
Mais c'est peut être ma ligne en php qui est fausse
if (($_POST['entree.value'])=='parametre')

n°1626961
micfont999
Simplement Moi
Posté le 19-10-2007 à 09:35:07  profilanswer
 

je comprend pas toute ton histoire la ...  
mais bon si tu veux qu'il te renvoi ce que tu m'a indiqué alors c'est ça :  

Code :
  1. window.location.replace("index.php?mod="+parametre+"&lang=fr" );


 
:) on va y arriver hein, il te manquais juste un + avant parametre


Message édité par micfont999 le 19-10-2007 à 09:35:16
n°1626964
jeremy1664
Posté le 19-10-2007 à 09:40:09  profilanswer
 

Même erreur  j'avais déjà mis les deux plus je comprend rien

n°1626966
micfont999
Simplement Moi
Posté le 19-10-2007 à 09:43:09  profilanswer
 

eula oui j'avais pas vu :  
php ..
if($_POST["entree"] == 'jesaispasàquoicorrespondtonparametrela')
{
 
}
 
va falloir qu'on reprenne les bases de php et de javascript hein ...  
la tu mélange un peu tout c'est pas terrible ...
 
pas de entree.value dans ton if, entree suffit. le .value est pour le javascript ...
alors redis moi clairement la démarque que tu fait, depuis l'ouverture de la page, jusque le windows.location.replace :) s'il te plais
 
sinon à quoi correspond ton parametre?

n°1626968
jeremy1664
Posté le 19-10-2007 à 09:48:33  profilanswer
 

j'ai une seule chose avant le code js :
<?
    if (($_POST['entree.value'])=='parametre') {
?>
Mon paramètre devrai d'après moi correspondre à entree.value
et entree.value prendrait la valeur que l'utilisateur rentre  
Jme trompe ?

n°1626969
micfont999
Simplement Moi
Posté le 19-10-2007 à 09:51:57  profilanswer
 

oui tu te trompe :)
 
donc si j'ai bien compris :  
tu valide ton formulaire,  
tu arrive sur un page contenant :

Code :
  1. <?
  2. if (($_POST['entree.value'])=='parametre') {
  3.         window.location.replace("index.php?mod="+parametre+"&lang=fr" );
  4. }
  5. ?>


 
c'est ça?
 
donne le code de ta page ça ira plus vite s'il te plais

n°1626974
jeremy1664
Posté le 19-10-2007 à 09:56:15  profilanswer
 

Non j'arrive sur la page d'accueil  
 
<?
    if (($_POST['entree'])=='parametre') {
 ?>
   <script language="JavaScript">
   
    function redirectionchamptexte(parametre)
    {
    window.location.replace("index.php?mod="+parametre+"&lang=fr" );
    return true;
    }
    </script>
  <?php
 }
 else
 {
    echo "Cette page n'existe pas";
 }
 ?>
    </head><body>
    <form name="formulairetest" action="" onSubmit="return redirectionchamptexte(entree.value)">
    <input type=text size=40 name="entree">
 <input type=submit value="envoi">
 </form>
 </body></html>
 

n°1626978
jeremy1664
Posté le 19-10-2007 à 10:06:16  profilanswer
 

Par contre je me rend compte que je ne me sert pas du booléen et qu'il doit pas être là pour rien  
Il devrait pas apparaitre dans le if ?
 

n°1626984
micfont999
Simplement Moi
Posté le 19-10-2007 à 10:12:50  profilanswer
 

eula vache d'accord .. bon alors on va reprendre tout ...  
voici ce que donnera ton code normalement  
pas besoin de php dans tout ce tointoin logiquement ..  
(tant que j'y pense, met ton code dans les balises code si possible :) )
voilla :  

Code :
  1. <html><head><title>Test</title></head><body>
  2. <form name="formulairetest" action="" onSubmit="javascript:window.location='index.php?mod='+entree.value+'&lang=fr'">
  3. <input type=text size=40 name="entree">
  4. <input type=submit value="envoi">
  5. </form>
  6. </body></html>


 
test déjà ça comme ça, on verra après pour tester si t'a page existe ...


Message édité par micfont999 le 19-10-2007 à 10:13:48
n°1627000
jeremy1664
Posté le 19-10-2007 à 10:24:00  profilanswer
 

autre code même problème :
 
<head>    
    <title>Référence</title>
   <script language="JavaScript">
   
    function redirectionchamptexte(parametre)
    {
    window.location.replace("index.php?mod="+parametre+"&lang=fr" );
    return true;
    }
    </script>
 </head>
  <html><body>
  <form name="formulairetest" action="" onSubmit="javascript:window.location='index.php?mod='+entree.value+'&lang=fr'">
  <input type=text size=40 name="entree">
  <input type=submit value="envoi">
  </form>
  </body></html>

n°1627008
micfont999
Simplement Moi
Posté le 19-10-2007 à 10:31:32  profilanswer
 

bon on va y aller progressivement :  

Code :
  1. <html><head><title>Test</title></head><body>
  2. <form name="formulairetest" action="" onSubmit="javascript:alert(entree.value)">
  3. <input type=text size=40 name="entree">
  4. <input type=submit value="envoi">
  5. </form>
  6. </body></html>

n°1627010
jeremy1664
Posté le 19-10-2007 à 10:34:25  profilanswer
 

ouaip mais à pert le nom de la fonction qu'est ce qui à changer ?

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  problème formulaire

 

Sujets relatifs
[Résolu]Probleme d'enregistrement - envoi de formulaire[Résolu] Probleme d'enregistrement lors d'un envoi de formulaire
Problème de mise à jour de formulaireProblème de type sur Variable de formulaire
problème de formulaire sous firefox alors qu'il marche sur IE et OpéraProbléme VALUES formulaire
probleme de label dans un formulaireprobleme de mise en page d'un formulaire
probleme: ajouter une valeur taper dans un formulaire dans une tableProblème formulaire JS
Plus de sujets relatifs à : problème formulaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR