Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/11/2007, 17h23   #1
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 202
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 202
Points : 32
Points : 32
Par défaut CGI: exploiter facilement QUERY_STRING

Bonjour, je dois, dans le cadre de mes études, développer un programme en CGI/Bash qui doit interagir avec une base de données Mysql. Je me débrouille pas trop mal mais j'ai un soucis pour exploiter la variable QUERY_STRING issue des formulaires html. J'ai en effet besoin de récupérer plusieurs paramètres afin d'effectuer une connexion via Mysql. J'ai testé ce code tout simple:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh
echo "Content-type: text/html"
echo ""
echo "<HTML><HEAD>"
echo "<TITLE>Connexion...</TITLE>"
echo "</HEAD>"
echo "<BODY BGCOLOR=\"#ffffff\">"
if [ "$REQUEST_METHOD" = "POST" ]; then
    read QUERY_STRING
	echo "<UL>"
	echo "<BL>"
	echo "bonjour "
	for opt in $QUERY_STRING
	do
  		echo $opt
	done
	echo "</BL>"
	echo "</UL>"
else
	echo "<H2>R&eacute;pondez aux questions suivantes</H2>"
	echo "<FORM ACTION='treat.sh' METHOD=POST>"
	echo "Prénom : <INPUT TYPE='text' NAME=prenom SIZE=20><BR>"
	echo "Nom : <INPUT TYPE='text' NAME=nom SIZE=20><BR>"
	echo "<INPUT TYPE=submit VALUE='Envoyer'> <INPUT TYPE=reset VALUE='Remettre &agrave; z&eacute;ro'>"
	echo "</FORM>"
fi
echo "</BODY></HTML>"
Le problème est que je n'arrive pas à désolidariser les éléments de la variable QUERY_STRING. Comment récupérer simplement les éléments se trouvant derrière le signe "="? J'ai cherché de la doc du côté de sed que je ne connaissait pas, mais je n'y comprend absolument rien. Existe t'il un moyen plus simple de récupérer ces paramètres?
mithrendil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 18h50   #2
Membre actif
 
Inscription : juin 2003
Messages : 270
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 270
Points : 170
Points : 170
cut doit repondre a ton besoin je pense:

Code :
1
2
$ echo "var=value" | cut -d= -f2
value
__________________
www.callofduty5waw.fr
drinkmilk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2007, 19h45   #3
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 202
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 202
Points : 32
Points : 32
Merci, en fait j'ai lamentablement recopié une regex que j'ai trouvé dans une doc:

Code :
QUERY=`echo $QUERY_STRING | sed -e "s/=/='/g" -e "s/&/';/g" -e "s/+/ /g" -e "s/%0d%0a/<BR>/g" -e "s/$/'/" `
Ceci répond parfaitement à mes besoins. Ou puis je trouver une doc complète sur l'utilisation des requêtes mysql avec bash?
mithrendil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h51.


 
 
 
 
Partenaires

Hébergement Web