Parameter über URL übergeen
Thomas Schmitt
- php
0 mdkiller0 Thomas Schmitt0 wahsaga0 Thomas Luethi
Hallo,
ich bin einen Passwortschutrz in PHP am programmieren. nach der if abfrage, ob user und passwort stimmt, soll eine seite aufgerufen werden (include). dieser seite will ich aber den usernamen, welcher in das formular am anfang übergeben wurde, übergeben.
das ganze sieht jetzt so aus:
include ("index2.php?name=$user");
wenn ich das ganze aber ausführe, bekomme ich einen fehler "Warning: failes opening 'index2.php?name=admin' for inclusion blablabla"
wie könnte man die parameter sonst übergeben?
Gruß
Thomas
Hallo!
z.B. per POST... Schau mal auf http://www.php.net
Gruß
mdkiller
ich bin jetzt mal soweit, dass die variable über die url übergeben wird. Nur kann ich bei der datei, der die variable übergeben wurde, den wert nicht anzeigen :(
Hi!
Versuchs mal mit $HTTP_GET_VARS
Damit müsstest du es hinkriegen.
Gruß
mdkiller
Hallo,
sorry, aber ich weiß nicht, wie ich das jetzt einbinden soll :( soweit ich weiß, muss das post ja in ein formular... aber die daten sollen übergeben werden, ohne zuerst auf einen "abschicken" button zuklicken? Kannst du mir evtl weiterhelfen?!
Gruß
Thomas
hi,
ich bin einen Passwortschutrz in PHP am programmieren. nach der if abfrage, ob user und passwort stimmt, soll eine seite aufgerufen werden (include). dieser seite will ich aber den usernamen, welcher in das formular am anfang übergeben wurde, übergeben.
ein per include eingebundenes php-script, das auf dem selben server liegt (also nicht über http, sondern über's dateisystem eingebunden wird), hat doch automatisch zugriff auf alle auch im übergreifenden script vorhandenen variablen ...?
ich verstehe nicht, wo dein problem liegt.
gruss,
wahsaga
Hallo,
include ("index2.php?name=$user");
Du hast offenbar nicht begriffen, wozu include() da ist.
http://www.php.net/manual/de/function.include.php
Wenn Du mit include() ein PHP-Skript (oder einfach ein paar
Zeilen PHP-Code) einbindest, dann ist es so, wie wenn
diese Zeilen an dieser Stelle im aufrufenden Skript stehen
wuerden.
Alle Variablen, die Du bis dort definiert hast,
stehen auch im eingebundenen Skript zur Verfuegung.
---
Wenn Du auf die Seite weiterleiten willst, nimm header()
Siehe http://www.php.net/manual/de/function.header.php
header("Location: http://www.example.com/index2.php?name=$user");
Achte darauf, dass
1. _Nichts_ vor dem <?php steht
http://www.dclp-faq.de/q/q-fehler-header.html
2. Die URL vollstaendig ist, also inklusive "http://"
Dein ganzes "Passwortschutz" Konzept beruht offenbar
auf der "geheimen URL" der zweiten Seite.
Das ist natuerlich der schwaechste und primitivste "Schutz",
den es gibt, und er hat viele Schwachstellen.
Oft ist ein Schutz mit .htaccess/.htpasswd fuer ein ganzes
Verzeichnis sinnvoller.
Auch dort hast Du mit PHP Zugriff auf den Username:
$_SERVER["REMOTE_USER"]
Andere Moeglichkeiten gibt es z.B. mit Sessions.
Dann musst Du in jeder Datei am Anfang pruefen, ob
der Benutzer berechtigt ist, und ihn sonst erst
einloggen lassen.
Wenn Du uns verraetst, _was_ Du mit dem Passwortschutz
erreichen willst, koennen wir Dir besser helfen.
Gruesse,
Thomas