URL übergabe und ausführen !
Marcus Vieß
- cgi
0 Cheatah0 Marcus Vieß0 Cheatah0 Marcus Vieß0 Cheatah0 Marcus Vieß0 Cheatah
0 Michael Schröpl
Bin mit meinem Domainchecker nun etwas weiter.
Also das Teil checkt nun ob die ausführende Seite berechtigt ist oder nicht (über die Domain).
Ist vielleicht nicht das beste aber erstmal funzt das ganze.
Jetzt soll das Teil bei nicht übereinstimmung mit der Domain einen Text ausgeben z.B. Diese Domain ist nicht berechtigt ... ne Mail an mich schicken und Remscheid sagen wer da wo. Das tut das script auch !
So aber wenn alles in Dortmund ist soll es einfach weitermachen und die Seite im Browser darstellen.
Wie macht man sowas ?
Also bei OK solls quasi weitergehen.
Kann ich dem Script beim Aufruf ne URL als Parameter geben und das Skript führt diese bei gefallen dann aus ?
gruss,
Marcus ...
PS: Is übrigens ein Perl script.
Hi,
Bin mit meinem Domainchecker nun etwas weiter.
dann bitte im entsprechenden Thread nachfragen. Ich hab nämlich sonst keine Ahnung, was Du eigentlich meinst.
So aber wenn alles in Dortmund ist soll es einfach weitermachen und die Seite im Browser darstellen.
Ich mußte Deinen Text mehrmals lesen, um zu verstehen, worauf Du hinauswillst:
#!/usr/bin/perl -w
use strict;
use CGI ':standard';
if param('url') { print redirect(param('url')); }
else { print header('text/plain'), 'Keine URL angegeben.'; }
Kann ich dem Script beim Aufruf ne URL als Parameter geben und das Skript führt diese bei gefallen dann aus ?
Parameter haben keine magische Bedeutung. Du mußt ausprogrammieren, was Du mit ihnen machen willst.
Cheatah
Ich mußte Deinen Text mehrmals lesen, um zu verstehen, worauf Du hinauswillst:
Sorry, ich drücke mich manchmal etwas komitsch aus.
Habe aber auch leider als CGI anfänger nicht so den richtigen Programmier Slang auf Lager.
Tja, danke für den schub in die richtige Richtung, ich bekomme das ganze aber leider nicht richtig eingebaut.
Dauernd dieser Internal Server Error (Igitt). Ich vesuche mal kurz anzureißen:
#!/usr/bin/perl
use strict;
use CGI ':standard';
if blah blah filter Bedingung.
{
&mailschicken; schickt mail an mich
&InvalidDomain; gibt kleinen Warntext aus. Sie sind niht befugt usw. usw.
exit;
}
else
{
if param('url') { print redirect(param('url')); }
else { print header('text/plain'), 'Keine URL angegeben.'; }
exit;
}
Hab ich da was falsch verstanden ?
gruss ...
Hi,
Dauernd dieser Internal Server Error (Igitt).
*seufz* was steht im Error-Log?
Ich vesuche mal kurz anzureißen:
Bringt leider ohne Fehlerbeschreibung nichts, insbesondere wenn Du Pseudocode der Art:
if blah blah filter Bedingung.
postest. Ferner wären ein paar Debugversuche ganz gut, so daß Du sagen kannst, _wo_ das Script eigentlich abbricht.
Cheatah
*seufz* was steht im Error-Log?
»» Ferner wären ein paar Debugversuche ganz gut, so daß Du sagen kannst, _wo_ das Script eigentlich abbricht.
Tja, wo liegt denn dieser Error Log. Ich betreibe den Server leider nciht selber sondern bin beim Provider
Strato. Wie kann ich den testen wo das Skript abbricht ?
gruss ...
Hi,
*seufz* was steht im Error-Log?
»» Ferner wären ein paar Debugversuche ganz gut, so daß Du sagen kannst, _wo_ das Script eigentlich abbricht.Tja, wo liegt denn dieser Error Log.
im Filesystem des Rechners, auf dem Dein Server läuft :-)
Ich betreibe den Server leider nciht selber sondern bin beim Provider Strato.
Ob die Dir Einblick ins Error-Log gewähren, kann ich Dir im Gegensatz zum Strato-Support leider nicht sagen.
Wie kann ich den testen wo das Skript abbricht ?
Solange eine Dummy-Ausgabe wie etwa
print "Content-type: text/plain\n\nOkay."; exit;
im Script verschieben, bis Du die Stelle gefunden hast.
Cheatah
Hallo,
Ich habe mal rumprobiert. Also wenn ich dich richtig verstanden habe dann
#!/usr/bin/perl -w
use strict;
use CGI ':standard';
if param('url') { print redirect(param('url')); }
else { print header('text/plain'), 'Keine URL angegeben.'; }
gehört das an den anfang des scriptes ! Und da muss leider der Fehler liegen, weil das Skript ja sonst funktioniert.
Klammere ich diese Zeilen aus läuft das skript weider. Aber es geht ja nicht weiter bei der Parameter übergabe.
D.h. es gibt einen kleinen Text aus ( der wenn das mit der Parameterübergabe klappt natürlich verschwinden soll,
so das das skript unsichtbar wird.).
Anfangen tut das Pronblem schon mit der use strict; Zeile.
Nachdem läuft das skript schon nicht mehr. gegen die use CGI ':standard'; zeile hat der server nichts.
die If abfrage mag er auch nicht.
Ich verzweifle langsam ...
gruss ...
Hi,
#!/usr/bin/perl -w
use strict;
use CGI ':standard';
if param('url') { print redirect(param('url')); }
else { print header('text/plain'), 'Keine URL angegeben.'; }gehört das an den anfang des scriptes !
die ersten drei Zeilen sollten da stehen, ja. Die letzten beiden sind zumindest chronologisch das Ende des Scripts.
Und da muss leider der Fehler liegen, weil das Skript ja sonst funktioniert.
Klammere ich diese Zeilen aus läuft das skript weider.
Dann teste das Script mal an der Kommandozeile. Die Verwendung des w-Switches und des strict-Pragmas macht Dich auf Deine Fehler aufmerksam, die Dir bisher verborgen geblieben sind.
die If abfrage mag er auch nicht.
param('url') in Klammern.
Cheatah
Hi,
if blah blah filter Bedingung.
welche Sprache soll das sein? Perl ist es vermutlich nicht - dort würde eine Bedingung sinnvollerweise in runde Klammern eingeschlossen werden, denke ich doch.
Hab ich da was falsch verstanden ?
was sagt denn Dein lokaler Perl-Interpreter, wenn Du das Skript mal mit "perl -cw" testest?
Erst mal sicherstellen, daß keine Syntaxfehler mehr drin sind, bevor es auf den Server geht. (Dort dann weiter mit http://www.teamone.de/selfaktuell/artikel/schroepl03.htm ...).
mfG - Michael