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

  FORUM HardWare.fr
  Programmation
  PHP

  acceder a une page en fonction dun champ

 


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

acceder a une page en fonction dun champ

n°1061002
miam miam1
Posté le 26-04-2005 à 11:28:41  profilanswer
 

bonjour a tous
 
jai un petit soucis  
jai un champ "nom" qui est demander  
si on met saada je voudrai aller a la page esai.php  
sinon aller a la page esai1.php
 
pour mieux comprend je vous donne mon code qui ne marche pas
 
// jesaye de tester si saada a ete entrer pour le nom
 
<?php
if (preg_match("!saada!" ,"$_POST['{login_Name}']" ))
{
echo '<form method="post" action="esai.php">';
}
elseif(!preg_match("!saada!" ,"$_POST['{login_Name}']" ))
{
echo'<form method="post" action="esai1.php">';
}
?>
 
 
<form method="post" action="esai.php" >  
 
// facon dont est rempli mon champ nom
 
<tr>
<font face="Tahoma" size="2"><b>Nom</b></font>
<font face="Tahoma" size="2"><input style="FONT-FAMILY: Tahoma" name="{login_Name}">&nbsp;</font>
</tr>
 
 
 
<input type="submit" value="validation" />
 
</form>  
 
merci pour votre aide :)

mood
Publicité
Posté le 26-04-2005 à 11:28:41  profilanswer
 

n°1061005
FlorentG
Unité de Masse
Posté le 26-04-2005 à 11:30:12  profilanswer
 

Je pige pas. Suivant la valeur, tu fais un echo d'un élément <form> avec une action différente :??:

n°1061011
miam miam1
Posté le 26-04-2005 à 11:33:55  profilanswer
 

oui en fonction du resultat dans name="{login_Name}"
 c'est a dire la valeur entrer par lutilisateur
je souhaiterai ouvrir une page php  
celle est diffenrente suivant si on entre saada ou autre chose
 
je sais pas si ta mieux compris
 
merci
 

n°1061029
miam miam1
Posté le 26-04-2005 à 11:50:51  profilanswer
 

jai essayer un autre truc mais sa ne marche toujours pas
cette fois ci je n'accede a aucune page  
 
voici mon code
 
<?php
 
// la vérification doit etre faite avant tout affichage !
 
if ( isset($_POST['login_name']) )
{
if (preg_match("!^saada$!" , $_POST['login_name'] ))
{
header("Location: /esai.php" );
}
else
{
header("Location:  /esai1.php" );
}
}
 
// mon formulaire  
 
<form method="post" action="" >
<font face="Tahoma" size="2"><b>Nom</b></font>
<font face="Tahoma" size="2"><input style="FONT-FAMILY: Tahoma" name="login_name">&nbsp;</font>
 
<input type="submit" value="validation" />
 
</form>  
 
?>
 
merci ci vous pouviez maider

n°1061038
nORKy
Grmmph...
Posté le 26-04-2005 à 11:56:01  profilanswer
 

à la place de preg_match, un $_POST['login_name'] != "saada" fonctionne aussi normalement
sinon, test bien ta value de $_POST['login_name'] et place des echo dans tes if pour verifier dans quel cas il passe dans tes conditions

n°1061052
miam miam1
Posté le 26-04-2005 à 12:09:40  profilanswer
 

jai fait comme tu me la conseiler mais  
mais mes echo ne marche pas  
 
if ( isset($_POST['login_name']) )
{
if ($_POST['login_name'] == "saada" )
{
 
echo'c bon';
}
else
{  
 
echo 'incorrect';
}
}
 
cela est du a koi??
car il ne rentre meme pas dedans
 
merci

n°1061054
FlorentG
Unité de Masse
Posté le 26-04-2005 à 12:12:57  profilanswer
 

Déjà le ?> est situé après le </form>, alors qu'il devrait être avant le <form>

n°1061059
nORKy
Grmmph...
Posté le 26-04-2005 à 12:14:52  profilanswer
 

si aucun echo ne marche, alors ton if ( isset($_POST['login_name']) )  est faux. A toi de voir pourquoi (ou alors montre nous ce qui se passe au dessus)

n°1061077
miam miam1
Posté le 26-04-2005 à 12:26:39  profilanswer
 

je pense quil y a un probleme au niveau du login_name
du  
if ( isset($_POST['login_name']) )  
 
mais je ne voi pas comment je pourai faire pour pour tester la valeur entrer dans le champs nom
 
<font face="Tahoma" size="2"><input style="FONT-FAMILY: Tahoma" name="{login_Name}">&nbsp;</font>  
 
merci
 

n°1061081
FlorentG
Unité de Masse
Posté le 26-04-2005 à 12:30:18  profilanswer
 

Bon, on va dire que ton fichier est nommé 'pouet.php'. Faudrait qu'il ressemble à ça :

<?php
   
  if(isset($_POST['login_name']) && $_POST['login_name'] == 'saada') {
   
    header('Location: /esai.php');
 
  } else {
 
    header('Location:  /esai1.php');
 
  }
?>
 
<form method="post" action="pouet.php" >
  <div>
    <label for="login">Nom</label><input name="login_name" id="login" type="text" />
    <input type="submit" value="Validation" />
  </div>
</form>


 
Et vire toutes ces <font> dégueulasses... C'est encore incroyable qu'en 2005 il y ait des gens qui utilisent encore ça :(

mood
Publicité
Posté le 26-04-2005 à 12:30:18  profilanswer
 

n°1061099
miam miam1
Posté le 26-04-2005 à 12:57:28  profilanswer
 

je ne souhaite pas que cela me telecharge un fichier !!
jeveux juste une redirection de page
 
en faisant ce que tu viens de me donner jaccede uniquement a la page donner dans action
 
et les conditions du if ne sont pas pris en compte
 
je suis en train dapprendre le php
afin de créer un site pour mon stage
je sui donc debutante
 
merci pour votre aide

n°1061198
nORKy
Grmmph...
Posté le 26-04-2005 à 13:50:07  profilanswer
 


 
serait-il donc une femme ?? :) miam miam ! ;-)
 
reprenons :
Est-ce que ton formulaire est sur la meme page que tes if ??
verifie avec print_r($_POST) ce que tu as dans tes variables.
quel est ta verssion de php ?

n°1061207
FlorentG
Unité de Masse
Posté le 26-04-2005 à 13:58:45  profilanswer
 

miam miam1 a écrit :

je ne souhaite pas que cela me telecharge un fichier !!
jeveux juste une redirection de page


C'est ce que j'ai proposé, ça redirige suivant le test
 

miam miam1 a écrit :

en faisant ce que tu viens de me donner jaccede uniquement a la page donner dans action


T'as pas dû tout lire. La page donnée par action est la page où tu doit mettre mon script, donc elle s'auto-appelle, et donc rentre dans le test
 

miam miam1 a écrit :

et les conditions du if ne sont pas pris en compte


T'as PHP d'installé au moins ? :heink:

n°1061248
KangOl
Profil : pointeur
Posté le 26-04-2005 à 14:22:24  profilanswer
 

FlorentG a écrit :

Bon, on va dire que ton fichier est nommé 'pouet.php'. Faudrait qu'il ressemble à ça :

<?php
   
  if(isset($_POST['login_name']) && $_POST['login_name'] == 'saada') {
   
    header('Location: /esai.php');
 
  } else {
 
    header('Location:  /esai1.php');
 
  }
?>
 
<form method="post" action="pouet.php" >
  <div>
    <label for="login">Nom</label><input name="login_name" id="login" type="text" />
    <input type="submit" value="Validation" />
  </div>
</form>


 
Et vire toutes ces <font> dégueulasses... C'est encore incroyable qu'en 2005 il y ait des gens qui utilisent encore ça :(


je ferait plutot comme ca...
 

<?php
   
  if(isset($_POST['login_name']))
  {
    if($_POST['login_name'] == 'saada')
      header('Location: /esai.php');
    else
      header('Location:  /esai1.php');
  }
?>
 
<form method="post" action="<?php echo __FILE__; ?>" >
  <div>
    <label for="login">Nom</label><input name="login_name" id="login" type="text" />
    <input type="submit" value="Validation" />
  </div>
</form>


---------------
Nos estans firs di nosse pitite patreye...
n°1061254
nORKy
Grmmph...
Posté le 26-04-2005 à 14:25:46  profilanswer
 

KangOl a écrit :

je ferait plutot comme ca...
 
[...]


 
en thérie, le compilo test d'abord le premier test et si il réussi et seulement si, test le second, donc, c'est la meme chose.

n°1061256
FlorentG
Unité de Masse
Posté le 26-04-2005 à 14:26:20  profilanswer
 

KangOl a écrit :

je ferait plutot comme ca...
 

<?php
   
  if(isset($_POST['login_name']))
  {
    if($_POST['login_name'] == 'saada')
      header('Location: /esai.php');
    else
      header('Location:  /esai1.php');
  }
?>
 
<form method="post" action="<?php echo __FILE__; ?>" >
  <div>
    <label for="login">Nom</label><input name="login_name" id="login" type="text" />
    <input type="submit" value="Validation" />
  </div>
</form>



C'est pas bien de virer les accolades :o ;) :D

n°1061264
pmusa
&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;
Posté le 26-04-2005 à 14:31:03  profilanswer
 

on peut les ommettre comme ça les accolades comme à fait KangOl?  :??:

n°1061266
FlorentG
Unité de Masse
Posté le 26-04-2005 à 14:33:03  profilanswer
 

Ouais on peu. Mais moi j'aime pas. Je préfère foutre des accolades partout pour bien piger la structure. Sinon si tu regardes de loin, tu sais pas trop d'où sort l'accolade après le deuxième header :D Et si un jour t'as un rajout à faire, bah faudra les taper, donc autant les mettre tout de suite. Ca porte même un nom, la "full bracketed syntax" :sol:

n°1061277
miam miam1
Posté le 26-04-2005 à 14:35:55  profilanswer
 

jutilise easyphp 1.8
 
et notepad++ pour les script
 

n°1061278
FlorentG
Unité de Masse
Posté le 26-04-2005 à 14:36:36  profilanswer
 

Et donc un  

print_r($_POST)


Ne donne rien ?

n°1061279
KangOl
Profil : pointeur
Posté le 26-04-2005 à 14:36:37  profilanswer
 

pour ca, suffit de bien indenté le code... (vive python !!!)


---------------
Nos estans firs di nosse pitite patreye...
n°1061280
FlorentG
Unité de Masse
Posté le 26-04-2005 à 14:37:12  profilanswer
 

KangOl a écrit :

pour ca, suffit de bien indenté le code... (vive python !!!)


C'est pas une question d'indentation, mais de convention de codage et quelques trucs en plus :)

n°1061287
pmusa
&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;&#9619;
Posté le 26-04-2005 à 14:40:20  profilanswer
 

FlorentG a écrit :

Ca porte même un nom, la "full bracketed syntax"


oooooh stäääyyyyÿÿÿÿÿle.  :sol:  
mwep, je me disais bien qu'il devait heriter ça d'un autre langage KangOl, python.  :jap:  

n°1061400
miam miam1
Posté le 26-04-2005 à 15:26:13  profilanswer
 

non le print_r($_POST) ne donne rien

n°1061404
FlorentG
Unité de Masse
Posté le 26-04-2005 à 15:27:25  profilanswer
 

Tu ouvres de quelles manière ta page dans ton navigateur ? En double-cliquant dessus, ou en faisant : http://localhost/page.php ?

n°1061410
miam miam1
Posté le 26-04-2005 à 15:30:13  profilanswer
 
n°1061412
FlorentG
Unité de Masse
Posté le 26-04-2005 à 15:30:59  profilanswer
 

okok donc ça c'est bon... Php est-il bien installé ? Quand tu fais Affichage\source, est-ce que tu vois le code PHP ?

n°1061419
miam miam1
Posté le 26-04-2005 à 15:33:43  profilanswer
 

je voi une erreur
 
<br />
<b>Parse error</b>:  parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in <b>c:\program files\easyphp1-8\www\testmoi\esai2.php</b> on line <b>11</b><br />

n°1061424
FlorentG
Unité de Masse
Posté le 26-04-2005 à 15:35:07  profilanswer
 

ah voilà :D Erreur de syntaxe ligne 11

n°1061429
miam miam1
Posté le 26-04-2005 à 15:37:53  profilanswer
 

oui mais cette erreur vient de ton print_r($POST)

n°1061433
miam miam1
Posté le 26-04-2005 à 15:39:12  profilanswer
 

sinon jai un warning
 
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\testmoi\esai2.php:3) in c:\program files\easyphp1-8\www\testmoi\esai2.php on line 12
 :)
mais alors la je pige pas
 

n°1061454
FlorentG
Unité de Masse
Posté le 26-04-2005 à 15:54:57  profilanswer
 

Parce qu'il y a déjà des trucs avant l'appelle de header. Il ne faut rien du tout (pas de echo, pas d'html, rien)

n°1061456
cesarr89
Posté le 26-04-2005 à 15:55:21  profilanswer
 

Erreur classique avec les headers, il ne faut pas que du contenu soit déjà envoyé sur la page pour pouvoir appeler header.

n°1061462
cesarr89
Posté le 26-04-2005 à 15:57:21  profilanswer
 

Sinon ce que tu fais, tu mets ton code PHP dans un autre fichier qui fait juste les traitements et qui redirige ensuite.

n°1061468
miam miam1
Posté le 26-04-2005 à 16:01:08  profilanswer
 

a part sa jai rien dautre  
jai pas de echo ou autre
 
 
 
<?php  
   
  if(isset($_POST['login_name']))  
  {  
    if($_POST['login_name'] == 'saada')  
      header('Location: /esai.php');  
    else  
      header('Location:  /esai1.php');  
  }  
?>

n°1061471
cesarr89
Posté le 26-04-2005 à 16:03:48  profilanswer
 

non rien d'autre

n°1062246
nORKy
Grmmph...
Posté le 27-04-2005 à 09:35:08  profilanswer
 

tu peux rexpliquer ce qui doit se passer exactement lorsque l'on va sur  
http://127.0.0.1/testmoi/esai2.php ??
 
Car je crois que y'a un truc que j'ai pas piger.
si j'ai bien compris, lorsque l'on va sur cette page, un formulaire apparait. on tape qqchose et donc on recharge la meme page qui elle meme redirige ailleurs, c'est ca ?
 
pour le prob de header, le debut du fichier doit etre <?php
meme pas un espace, pas une tabultation, rien avant.
 
Si tu as rien dans $_POST c'est que tu n'as rien poster. essai un GET, c'est pareil sauf que ca met les champs dans l'url et que tu les recupere dans $_GET :)

n°1062258
nORKy
Grmmph...
Posté le 27-04-2005 à 09:40:30  profilanswer
 

je viens d'essayer ta page, et chez moi, cela fonctionne
par contre, je ne metterais pas __FILE__ parce que c'est une macro d'un chemin complet. par exemple chez moi, __FILE__ vaut "/amd/home/soda/norky/www/test.cgi"
alors, qu'il devrait plutot valoir /test.cgi
 
A+

n°1062266
miam miam1
Posté le 27-04-2005 à 09:46:29  profilanswer
 

oui c bien sa
elle nous redirige vers une nouvelle page
 
jevais essayer avec get
merci

n°1062273
miam miam1
Posté le 27-04-2005 à 09:52:12  profilanswer
 

en faite ce que je doit faire  c  
 me connecter a ma base sql server  
et utiliser les informations sur le nom qui est dans ma base  
afin de valider ou non la connection  
 
jai essayer ce bout de code masi sa ne marche pas  
 
 
 
<?
 
// parametre perso
$dsn="sqlserver";
$username="sa";
$password="pwd";
 
//connection
$sqlconnect=odbc_connect($dsn,$username,$password);
$sqlquery="SELECT nom FROM utilisateur;";
$process=odbc_exec($sqlconnect, $sqlquery);
 
// recuperation des infos
$result = false;
 
while(odbc_fetch_row($process))
{
$nom= odbc_result($process,"nom" );
 
 if($_GET['login_name'] == $nom)
 {
 $result = true;
  elseif(isset($_GET['login_name']!= $nom))
  {
  $result = false;
  }
 }
}
if ($result == true)
{
Header("Location: http://127.0.0.1/testmoi/essai3.html" );
echo ' connection effectuer avec succes';
exit;
}
 
odbc_close($sqlconnect);
?>
 
 
 
ilme dis quil y a une erreur sur le elseif masi pourquoi??
merci
 

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

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

  acceder a une page en fonction dun champ

 

Sujets relatifs
Appeler une fonction php avec du javascriptParamètres optionnels dans une fonction/procédure
Fonction is_upload_fileafficher une page pendant x seconde puis revenir a la page précédente?
Atteindre un champ particulier avec VBAcreer une fonction qui change un affichage ecran
[PHP/XML] Afficher en fonction de sa valeur classer ? [maj]fonction qui renvoie un tableau de données
[GTK] passer un parametre a une fonction callbackFaire un include d'une page distante
Plus de sujets relatifs à : acceder a une page en fonction dun champ


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