You are not logged in.

wcf.regNote.message

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

1

Tuesday, June 22nd 2004, 11:17am

Weiterleitung

Ich bin echt am Ende. Sitze jetzt bestimmt schon insg. 6 Std. daran und ich hab langsam keine Idee mehr, vor allem, weil es bei einem Script funktioniert und bei einem anderen nicht mehr.

Es geht um ne Web-Application, sprich ich rufe die Scripte über den Browser auf.

Das ist mein Quellcode stark vereinfacht und auf das wesentlich beschränkt, deshalb sei der Sinn mal dahingestellt:

Source 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
28
29
30
31
32
33
34
35
36
37
38
#!/opt/perl5/bin/perl -w
print ("Content-type: text/html\n\n");

#CGI:
use CGI;
my $cgi = new CGI;
use CGI::Carp qw(fatalsToBrowser);
use DBI;
use strict;

#Funktionen
use check_datum;
use check_datum2;

#Werte aus vorherigem Script übernehmen
my $id = $cgi->param("Id");
my $stunden = $cgi->param("Stunden");
my $minuten = $cgi->param("Minuten");

#Variablen
my $arbeitszeit = 0;
my $datum_zeit;
my $param;


$param = 8;

#Redirect
print ('
  <html>
  <head>
  <title>Redirect</title> ');
  <meta http-equiv=\"refresh\" content=\"0; URL=seite2.pl?param=$param\">
  </head>
  <body>
  </body>
  </html>
');
Folgendes, ich probiere jetzt schon die ganze Zeit rum, indem ich immer wieder was weglasse, ändere und schaue, ob es funktioniert.

Was mir aufgefallen ist, ist, dass es funktioniert, wenn ich z.B. "my $param;" weglasse. Aber warum? Ich dachte immer, dass das "my" so ne Art deklarieren ist, aber anscheinend trifft das wohl nicht zu.

Ich raff auch nicht, wieso ich den Quelltext im Browser ausgegeben kriege, aber er das nicht als HTML-Seite umsetzt. Es steht echt als Quellcode 1zu1 der HTML-Kram, den ich unter "#Redirect" stehen hab.

Bitte helft mir, sonst spring ich noch ausm Fenster!! (Erdgeschoß) :P
Spaß im Netz auf www.piep001.de

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

2

Tuesday, June 22nd 2004, 3:14pm

PHP Source code

1
2
3
4
5
6
7
8
9
10
print ('
  <html>
  <head>
  <title>Redirect</title> ');    <---- ?!?! '); weg
  <meta http-equiv=\"refresh\" content=\"0; URL=seite2.pl?param=$param\">
  </head>
  <body>
  </body>
  </html>
');


in einem String umgeben von ' brauchst du die " nicht escapen!
also
print ' " '; gibt ein " einwandfrei aus ;)

Ciao Ephraim
PS.: bei mir funtzt einwandfrei, bis auf des $param nicht ersetzt wird sondern so ausgegeben wird.
soltest vielleicht nicht ' verwenden sondern " aber dann escapen nicht vergessen :)

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

3

Tuesday, June 22nd 2004, 4:10pm

PHP Source 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!DEIN_PFAD_ZUM_PERL_EXECUTABLE
print ("Content-type: text/html\n\n");

#CGI:
use CGI;
my $cgi = new CGI;
use CGI::Carp qw(fatalsToBrowser);
use strict;

#Funktionen
#use check_datum;
#use check_datum2;

#Werte aus vorherigem Script übernehmen
my $id $cgi->param("Id");
my $stunden $cgi->param("Stunden");
my $minuten $cgi->param("Minuten");
my $param $cgi->param("param");

if($param eq "") {
#Variablen
my $arbeitszeit 0;
my $datum_zeit;

$param 8;

#Redirect
print ("
  <html>
  <head>
  <title>Redirect</title>
  <meta http-equiv=\"refresh\" content=\"0; URL=cgi.pl?param=$param\">
  </head>
  <body>
  </body>
  </html>
");
}
else {
    print $param;
}


Damit funtzts bei mir ;)

Ciao Ephraim

piep001

Intermediate

  • "piep001" started this thread

Posts: 338

Location: NRW

Occupation: Fachinformatiker (AE)

  • Send private message

4

Wednesday, June 23rd 2004, 9:01am

Hi Ephraim,

Quoted

Original von Ephraim

PHP Source code

1
2
3
4
5
6
7
8
9
10
print ('
  <html>
  <head>
  <title>Redirect</title> ');    <---- ?!?! '); weg
  <meta http-equiv=\"refresh\" content=\"0; URL=seite2.pl?param=$param\">
  </head>
  <body>
  </body>
  </html>
');
Ups, wie kommt denn da das '); rein?? Sorry, das stand nicht in meinem Quelltext hier, muss mir also beim Einfügen oder so passiert sein. Wäre ja auch völliger Quatsch.

Quoted

Original von Ephraim
in einem String umgeben von ' brauchst du die " nicht escapen!
also print ' " '; gibt ein " einwandfrei aus ;)
Auch Blödsinn. Ich muss gestern echt schon so fertig gewesen sein, dass ich einfach alles Mögliche probiert hatte und dann so nen Scheiß bei rum kam. Ich hatte nämlich zeitweise die Zeilen mit " statt mit ' ausgegeben und da musste ich halt escapen.


Naja, egal, auch, wenn das alles nicht zutrifft und ich das auch schon alles durchprobiert habe, so habe ich zumindest DANKE DIR, meinen Fehler gefunden bzw. bin ich auch die richtige Spur gekommen. Und zwar hast du bei deinem Test-Script, wo es bei dir funzt, die Funktionen ("use check_datum;" und "use check_datum2;") auskommentiert. Wenn ich das mache, gehts auch bei mir.

Was ich nämlich gestern noch festgestellt hatte, war, dass die Weiterleitung ansich kein Problem ist, sondern nur das Anzeigen. Sprich der HTML-Text, der ausgegeben wurde, wurde nicht als "text/html" sondern als "text/plain" erkannt, desshalb auch die Ausgabe des Quelltextes beim redirect und somit auch keine Weiterleitung.

Jetzt muss ich einfach mal schaun, was mit den Funktionen los ist und warum die da nen Fehler verursachen.

Wie immer aber nen Großes THX an dich!!!! ;)
Gruß, piep
Spaß im Netz auf www.piep001.de

Ephraim

Professional

Posts: 826

Location: coder-board.info

Occupation: Info-Student

  • Send private message

5

Wednesday, June 23rd 2004, 9:54am

Kein Prob ;)
war schön mal wieder was in Perl zu
machen ....
komm ich viel zu selten dazu obwohl mir Perl auch sehr gut
gefällt :)

Bis zum nächsten mal :lol:

Ciao Ephraim

wcf.user.socialbookmarks.titel