php et type radio

php et type radio - Programmation

Marsh Posté le 12-04-2001 à 12:47:12    

Voilà, je débute en php et je suis en train de faire un site pour un de mes potes. Pour qu'il puisse modifier facilement son site j'ai fait le formulaire suivant :
<HTML>
<HEAD>
<TITLE>modifier</TITLE>
</HEAD>
<BODY>
<font size=4><b>Choisissez une action :</b></font>
<form method="post" action="form_modif.php3">
<ul>
 <input type="radio" name="choix" value="news"> ajouter news
 <br>
 <input type="radio" name="choix" value="stagebank"> modifier la banque de stage
 <br>
 <input type="radio" name="choix" value="liens"> modifier les liens
 <br>
 <input type="radio" name="choix" value="admin"> modifier les administrateurs
 <br>
 <input type="radio" name="choix" value="journal"> nouveau journal
 <br>
 <input type="radio" name="choix" value="cvbank"> modifier la banque de cv
 <br>
 <input type="radio" name="choix" value="newtable"> crééer une nouvelle table  
</ul>
<p align="center"><input type="submit" value="go"></p>
</form>
</BODY>
</HTML>
 
Par contre je ne sais pas comment faire pour récuperer son choix dans form_modif.php3.
je voudrais faire un truc du style:
 
switch($choix)
{
   case "news"
       instruction
   case "stagebank"
       instruction
   ...
}
 
voilà, ma méthoe est bonne ou pas. Help !!!!!

Reply

Marsh Posté le 12-04-2001 à 12:47:12   

Reply

Marsh Posté le 12-04-2001 à 12:56:31    

je pense ke oui, tu as essayé ?

Reply

Marsh Posté le 12-04-2001 à 13:06:31    

oui normalement ça doit marche à part p/e au niveau de la syntaxe, j'appelle les switch() comme àa :
 
switch($choix)  
{  
   case 'news':
       instruction  
   break;
   case 'stagebank':
       instruction  
   break;
   ...  
}  
 
je sais pas si la fn est sensible aux légère différences... à voir ;)

Reply

Marsh Posté le 12-04-2001 à 13:21:04    

merci beaucoup, effectivement j'ai oublié le "break", mais il y a une différence entre les " et les ' ?

 

[edit]--Message édité par Bounga69--[/edit]

Reply

Marsh Posté le 12-04-2001 à 13:31:32    

Tu peux ne pas mettre " ou ' :
 
switch($choix)  
{  
   case news:  
       instruction  
   break;  
   case stagebank:  
       instruction  
   break;  
   ...  
}
 
" et ' sont différents, lorsque tu utilises echo "aaa" ou echo '...', tu verras, si tu as des variables PHP à l'intérieur du echo, dans le premier, tu peux écrire : echo "aaa $var aaa";, dans le second, il faudra écrire echo 'aaa'.$var.'aaa'; pour que $var soit interprétée.

Reply

Marsh Posté le 12-04-2001 à 13:36:05    

oki.

Reply

Marsh Posté le 13-04-2001 à 12:06:40    

comme j'ai des personnes compétantes je vais en profiter, voilà le form_modif.php3 :
<HTML>
<HEAD>
<TITLE>modifiez !!!</TITLE>
</HEAD>
<BODY>
<?php
 switch ($choix)
 {
  case news
   lea_ajout_news.htm;
  break;
   
  case liens
   lea_ajout_liens.htm;
  break;
 }
?>
</BODY>
</HTML>
 
en fait je voudrais que chaque action dispo redirige sur une autre page. Je m'xplique, si j'ai choisi d'ajouter une news, je voudrais que form_modif.php3 redirige directement sur lea_ajout_news.htm. Vous comprenez ?

Reply

Marsh Posté le 13-04-2001 à 12:51:27    

Ok, j'ai compris :
 
<HTML>  
<HEAD>  
<TITLE>modifiez !!!</TITLE>  
</HEAD>  
<BODY>  
<?php  
function redirect($page)
{
 echo "<script language=\"Javascript\">
  document.location = \"$page\";
      </script>";
}
 
 
switch ($choix)  
{  
  case news:  
   return redirect("lea_ajout_news.htm" );  
  break;  
   
  case liens:  
   return redirect("lea_ajout_liens.htm" );  
  break;  
}  
?>  
</BODY>  
</HTML>  
 
@+

Reply

Marsh Posté le 13-04-2001 à 13:09:33    

thanks a lot !!!
il y en a qui sont sur toulouse ?

Reply

Marsh Posté le 13-04-2001 à 13:10:13    

on peu même éviter le javascript et faire la redirection avec les Hearders je trouve ça plus "clean" ;). Mode d'emploi :
 
<?php
switch ($choix)  
{  
  case news:  
   Header("Location: lea_ajout_news.htm" );  
  break;  
     
  case liens:  
   Header("Location: lea_ajout_liens.htm" );  
  break;  
}  
?>  
voila dc un script 100% php qui redirige automatiquement vers la bonne page sans passer par une page html. Mais attention les headers onst assez sensibles -> si un caractère (même vide) est renvoyé au navigateur avant le haeder, la redirection échoue lamentablement (par ex. si il trâine un espace avant la balise "<?phph" ). La fn header est aussi assez sensible à la syntaxe: si on met un espace entre les : et Location ça foire !
Mais bon suffit de faire gaffe et c bon ;)

Reply

Marsh Posté le 13-04-2001 à 13:10:13   

Reply

Marsh Posté le 13-04-2001 à 13:13:15    

Tout à fait d'accord avec toi Zebra3.
 
Bounga69> Je suis Nantais, vous avez le soleil, on a la pluie, Glurps...

 

[edit]--Message édité par fly lm--[/edit]

Reply

Marsh Posté le 13-04-2001 à 13:23:31    

j'avais pensé aux header et j'en avais discuté avec un pote hier soir, mais il m'avait dit que ça ne marchait que dans les en-têtes, je lui ferais moins confiance à l'avenir.

Reply

Marsh Posté le 13-04-2001 à 13:37:04    

Ton pote a raison, c'est à écrire dans les entêtes. C'est pour cela que Zebra te disait que c'était très sensible. Tu ne dois écrire avant le code que Zebra3 t'a donné. A toi de voir, tout dépend de ce que tu as faire, si tu as du code avant ta redirection... Les deux méthodes (PHP ->Header, PHP->javascript) fonctionnement...

Reply

Marsh Posté le 13-04-2001 à 14:41:42    

Les Headers SONT des en-têtes ! Mais ce sont des en-têtes HTML cad que tu peux faire tous les traitements que tu veux en php (cad sur le serveur) avant d'envoyer des en-têtes, il suffit de bien faire attention à ne rien envoyer au navigateur avant...
Par ex moi j'utilse les headers pour les redirections vers des liens en passant par un fichier intermediaire qui incremente un compteur de visite dans une table mysql puis j'envoie le header pour faire la redirection.

Reply

Marsh Posté le 13-04-2001 à 14:53:16    

Tout à fait !!! Je me suis mal exprimé.

Reply

Marsh Posté le 13-04-2001 à 17:14:43    

donc, si je veux utiliser un header dans une page php, il faut le mettre dans la balise d'en-tête.

Reply

Marsh Posté le 13-04-2001 à 17:33:31    

La fonction Header() permet de spécifier un entête HTTP lors de l'envoi des fichiers HTML. La fonction Header() doit être appelé avant la première balise HTML , et avant n'importe quel envoi de commande PHP. -> Documentation NEXEN.

Reply

Marsh Posté le 13-04-2001 à 17:34:13    

qu'entends tu par "balise d'en-tête" ?
Il suffit d'envoyer ton header avant TOUT autre envoi d'info vers le navigateur du visiteur (sauf pour les cookies qui eux aussi doivent être enoyés avant tte infos mais peuvent passer après les headers)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed