JakKrull: variablenübergabe in anderes cgi script

Beitrag lesen

Nun gut wenn ich genauer darüber nachdenke, ist es wirklich Quatsch dafür eine extra Datei anzulegen. Nun tritt aber ein zweites Problem auf, bei dem ich nicht weiß, wieso.

Um kurz zu beschreiben worum es geht. Ich will für mich ein Script haben mit dem ich und andere die berechtigt sind Gästebucheinträge auf meiner Seite zu kommentieren oder, wenn nicht gewollt, zu löschen. Dafür habe ich ein Passworteingabe Skript geschrieben welches Name und Passwort an das Skript übermittelt, welches gleich weiter unten steht.
 In dem Skript welches weiter unten steht tritt aber nun folgender Fehler auf. Wenn ich mich eingeloggt habe (im moment noch mit name=n, passwort=p möglich), habe ich eine Link-Auswahl ob ich Einträge löschen oder kommentieren möchte, komischer weise ruft er aber nicht die "sub comment" oder "sub delete" auf sondern springt immer auf die sub in der der Benutzer darauf hingewiesen wird, das er keinen  Namen eingegeben hat.

Vielleicht hat ja einer von euch ne Ahnung woran das liegen könnte.
Hier das Skript:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);

#globale variablen
my $file   = 'pass.cgi';
my $buffer;
my $name = $_;
my $pass = $_;

#passwort variablen
my $pw1_jak   = ("np");
my $pw2_jak;
my $pw1_tobi  = ("np");
my $pw2_tobi;
my $pw1_micha = ("np");
my $pw2_micha;
my $pw1_horn  = ("np");
my $pw2_horn;
my $pw1_uwe   = ("np");
my $pw2_uwe;

print "Content-Type: text/html\n\n";

#auslesen und splitten der passwortdaten
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

($a,$b) = split(/&/,$buffer);
($a,$name) = split(/=/,$a);
($b,$pass) = split(/=/,$b);

#erstellen der vergleichspasswortdaten
$pw2_jak   = $name.$pass;
$pw2_tobi  = $name.$pass;
$pw2_micha = $name.$pass;
$pw2_horn  = $name.$pass;
$pw2_uwe   = $name.$pass;

#sicherheitsabfrage ob name oder passwort eingegeben worden sind
&no_name unless $name;
&no_pass unless $pass;

#sind passwort und username korrekt ???
if ($pw1_jak eq $pw2_jak || $pw1_tobi eq $pw2_tobi || $pw1_micha eq $pw2_micha || $pw1_horn eq $pw2_horn || $pw1_uwe eq $pw2_uwe) {

&confirmed($name,$pass);
}
else {

&no_acc;
exit ();
}

#eingeloggte mitglieder können hier auswählen was sie nun tun wollen
sub confirmed {

my $name=$name;
my $pass=$pass;

print <<ende;

<html>
<head>
<title>confirm_pass</title>
<LINK REL=STYLESHEET HREF=/asparagoth.css TYPE=text/css>
</head>
<body bgcolor="000000" text="#A89F9A" background="../pics/main/main.jpg" bgproperties="fixed">

<p>Herzlich willkommen $name, Du bist eingeloggt!!</br>
Was möchtest du jetzt machen??</p>
<br>
<p>
<a href='password.cgi?comment&$name' >[1] Gästebucheinträge kommentieren</a><br>
<a href='password.cgi?delentry&$name'>[2] Gästebucheinträge löschen</a></p>
<br>
<br>
<center><a href=$file>zurück</a></center>
</body>
</html>

ende

exit();
}

#wird aufgerufen, wenn der user nicht erkannt wurde
sub no_acc {

print "<html>";
print "<head>";
print "<title>confirm_pass</title>";
print "<LINK REL=STYLESHEET HREF=/asparagoth.css TYPE=text/css>";
print "</head>";
print "<body bgcolor=000000 text=#A89F9A background=../pics/main/main.jpg bgproperties=fixed>";

print "<p>Sorry, aber dieser Account existiert nicht!!</p>";

print "<br>";
print "<center><a href=$file>zurück</a></center>";
print "</body>";
print "</html>";

exit();
}

#wird aufgerufen, wenn kein benutzername eingegeben wurde
sub no_name {

print "<html>";
print "<head>";
print "<title>confirm_pass</title>";
print "<LINK REL=STYLESHEET HREF=/asparagoth.css TYPE=text/css>";
print "</head>";
print "<body bgcolor=000000 text=#A89F9A background=../pics/main/main.jpg bgproperties=fixed>";
print "<p>Bitte gebe einen Namen ein!!";

print "<br>";
print "<center><a href=$file>zurück</a></center>";
print "</body>";
print "</html>";

exit();
}

#wird aufgerufen, wenn kein passwort eingegeben wurde
sub no_pass {

print "<html>";
print "<head>";
print "<title>confirm_pass</title>";
print "<LINK REL=STYLESHEET HREF=/asparagoth.css TYPE=text/css>";
print "</head>";
print "<body bgcolor=000000 text=#A89F9A background=../pics/main/main.jpg bgproperties=fixed>";
print "<p>Bitte gebe ein Passwort ein!!";

print "<br>";
print "<center><a href=$file>zurück</a></center>";
print "</body>";
print "</html>";

exit();
}

#wird aufgerufen, wenn in der sub "confirmed" der punkt [1] Eintrag bearbeiten ausgewählt wurde
#soll GB-Einträge kommentieren lassen können
sub comment {

my $name = $name;

print <<ende;

<html>
<head>
 <title>Asparagoth - Internal</title>
 <LINK REL=STYLESHEET HREF="/standart.css" TYPE="text/css">
</head>
<body bgcolor="000000" background="../pics/main/main.jpg" bgproperties="fixed">

<br>
<br>

<p> Diese Funktion ist im Moment noch nicht im Betrieb!!</p>

<p> der name ist: $name </p>

<br>
<br>

<center><a href='password.cgi?confirmed&$name'>zurück</a></center>

</body>
</html>

ende

exit();
}

#wird aufgerufen, wenn in der sub "confirmed" der Punkt [2] Eintrag löschen ausgewählt wurde ...
#soll GB-Einträge löschen die vorher ausgewählt wurden
sub delentry {

my $name = $name;

print <<ende;

<html>
<head>
 <title>Asparagoth - Internal</title>
 <LINK REL=STYLESHEET HREF="/standart.css" TYPE="text/css">
</head>
<body bgcolor="000000" background="../pics/main/main.jpg" bgproperties="fixed">

<br>
<br>

<p> Diese Funktion ist im Moment noch nicht im Betrieb!!</p>

<p> der name ist: $name </p>
<p> das passwort ist: $pass </p>

<br>
<br>

<center><a href='password.cgi?confirmed&$name'>zurück</a></center>

</body>
</html>

ende

exit();
}

exit();

Gruß, JakKrull