Frederic, probleme enfin resolu

Le forum de l'Annuaire Francophone des Scripts CGI: CGI : Cours CGI: Frederic, probleme enfin resolu

Anonyme

lundi 09 avril 2001 - 23h48
bonjour frederic,
j ai enfin pu resoudre mon probleme param etc.. message plus bas, ce que je ne savais pas avec param, c'est qu'il fallait ouvrir le header avant le programme et que celui ci restait ouvert jusqu" a la fin du script, j avais également oublié de séparer la ligne du mot de passe et du script, donc ceci

#!/usr/bin/perl

$mots_de_passe="test";

if (param('pass') eq $mot_de_passe) {
print header();
print " password ok ";
etc...........

a été remplacé par ceci
#!/usr/bin/perl
use CGI qw(:all);

####################################
$mot_de_passe="test";
####################################

print header();
if (param('pass') eq $mot_de_passe) {
print &admin;
} else {
print " password no correct";
}

sub admin {
print " bienvenue dans l'admin cgi";
}
et cela fonctionne enfin!!!!
que pensez vous de la recuperation type cgi
$requete=$ENV{'qery-string'};
($champ, $commande)= split (/=/, $requete);
le probleme c'est que cette fonction change l'url puisque $requete doit corespondre à quelque chose?

Pour ce qui est de la programmation, j'ai commander 2 livres, un pour apprendre les bases de programmations, et l'autre pour apprendre le language C, le c avait l air courrant comme language, je pense quand meme arrivé a quelque chose avec tous ces livres, jai perl, cgi,c, cela devrait aller!? Puis je faire un cgi en C? Je vais arreter de vous importuner avec toutes mes questions et essayé de me debrouiller par moi meme, je pense que vous avez bien d'autre choses a faire. Merci pour tous vos conseils
cordialement

PS: le serveur apache que j ai installé ne fonctionne toujours pas sur mon pc, j ai essayé beaucoup de chose mais il ne se lance pas.

Frédéric (Frédéric)

mardi 10 avril 2001 - 16h08
Bonjour,

Pour la récupération des données, la méthode que vous montrez en effectuant un script ne fonctionnera que dans quelques cas tres simples.
Si vous souhaitez récupérer les données, utilisez soit CGI.pm soit cgi-lib.pl, mais pas 2 lignes comme cela car ca ne gère pas les formulaires passés en POST, ni les caractères spéciaux dans les url (%e9 par exemple).

Il est possible de programmer des CGI dans a peu près n'importe quel langage donc le C, mais c'est quand meme nettement plus facile en perl :-).

Pour quelle raison le serveur apache ne se lance t-il pas ?
essayez de le lancer a la main en ouvrant une fenetre dos.

Anonyme

mardi 10 avril 2001 - 16h51
bonjour frederic,
j'ai essayé sous win dans le fichier apache group, je fais apache start et cela se referme aussi tot, j ai essayé sous dos, et cela ne marche pas non plus! ce soucis ne viendrait il pas de windows millenium, car je trouve que c'est la pire edition du genre, ca bug à longueur de temps!
pour la recup de donnée, je me suis amusé à tester cette nuit, je recupère param et le change après pour facilité la chose
my $pass=param('pass');
par contre j ai essayé de mettre un envoi de courrier mais ca me donne une erreur, je ne vois pas pourquoi.
bonne soirée
cordialement
eric

Anonyme

mercredi 11 avril 2001 - 14h21
bonjour frederic,
j'ai essayé d'incorporé sendmail dans mon script, pour envoyé un mail lorsqu'un mauvais mots de passe est saisi, mais à ma grande surprise, le script bug et refonctionne lorsque j'enlève la fonction, cela est il normale? jai essayé de le mettre en sub mail et d'envoyé la fonction avec print, comme cela
if ($pass eq $password) {
print header;
print"ok";
exit;
}else{
print header;
print"passord incorect, un message est envoyé au webmaster";
print &mail;
exit;

sub mail;
open (Mail;"sendmail etc.......

je ne vois pas pourquoi cela ne fonctionne plus puisque qu'il a marché 2 fois?
Pour ce qui est de perl, c'est vrai que ca a l'air plus simple, j'ai encore du mal avec les tableaux et variable, car je ne suis pas programmeur, j'apprend doucement mais retient facilement, c'est mon seul avantage, j'attend mon livre d'initiation pour mieux comprendre le fonctionnement d'un programme, son exécution et sa mise en place, j'ai choisi un livre basic pour que les explication soit facile à comprendre.
J'ai vu que l'on pouvait vous soumettre des scripts pour la base de scripts-fr, je suis en train d'essayé d'en ecrire 2 je vous les ferais parvenir , lorsque le bug sera résolu.
Pour apache, je cherche encore à le faire fonctionner, j'espere que cela marchera car se connecter pour tester, cela me coute tres cher, environ 1000fr mois, et l'adsl ne passe pas chez moi, merci france telecom.
merci à bientot, bonne journée
eric

Frédéric (Frédéric)

mercredi 11 avril 2001 - 18h14
Bonjour,

ce n'est bien entendu pas normal que ca ne fonctionne pas avec Sendmail.
Cela signifie qu'il y a une erreur quelconque dans votre script ou que sendmail n'a pas été trouvé sur le serveur (c'est le cas sous windows NT par exemple)

Pour savoir quel est le probleme avec Apache, ouvrez une fenetre DOS et allez dans le répertoire contenant apache
une fois dans ce répertoire tapez
apache

et il va vous indiquer quelle est l'erreur.

Anonyme

mercredi 11 avril 2001 - 18h27
bonsoir,
je viens d'essayé sous dos pour apache c:\programmes files\apache group\apache et je n'obtient aucune erreur, il m'ouvre tous les dossier que je demande, cgi bin htdos etcc..
c'est bizarre je ne comprend pas pourquoi il ne se lance pas comme un logiciels normal sous windows
cordialement

Frédéric (Frédéric)

vendredi 13 avril 2001 - 22h06
Bonjour


il ouvre les dossiers ??????????
Vous devez lancer le programme Apache a partir de la boite de commande dos
Si apache se lance il doit afficher quelque chose du genre :
Apache/1.3.9 (Win32) running...

Anonyme

samedi 14 avril 2001 - 06h11
bonjour,
donc par la commande dos, il ne se lance pas, il affiche juste le dossier. Y a t il quelque chose à configurer dans apache, dans les conf et httconf ou cela se fait à l'installation .

Frédéric (Frédéric)

dimanche 15 avril 2001 - 22h34
Bonjour,

pouvez vous m'expliquer ce que vous entendez par il ne se lance pas, il affiche juste le dossier ?

Exemple chez moi, apache est sur le drive G dans le répertoire Apache.
Je fais donc
g: [ENTER]
cd apache [ENTER]
apache [ENTER]

et la il me dit :
Apache/1.3.9 (Win32) running...


Ajouter un message


Ceci est une zone publique. Si vous n'avez pas de compte, entrez votre nom dans le champ "Identificateur" et laissez le mot de passe vide. Votre adresse E-mail est facultative.
Identificateur :  
Mot de passe :
E-mail :
Poster "anonymement"