php et type radio - Programmation
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
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]
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.
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 ?
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>
@+
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
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]
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.
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...
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.
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.
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.
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)
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 !!!!!