| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

16-04-2010, 10:09
|
|
tinasharma18hh
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 36
|
|
Variablenübergab funzt nicht!
Hi Leute,
ich glaub die Lösung ist relativ simpel, aber ich komm nicht drauf. Ich möchte nachdem Login der Username als Variable an Main.php übergeben. ...wo liegt der Wurm?Thx
Login.php
PHP-Code:
<?php $username = $_POST["username"]; $password = $_POST["password"]; if ( ($username=="ww" AND $password=="123") OR ($username=="ss" AND $password=="345") ) { echo' <form action=Main.php method=post> <input type="hidden" name='.$username.'></form> <META HTTP-EQUIV=REFRESH CONTENT="2; URL=Main.php">' ; } else { echo'<META HTTP-EQUIV=REFRESH CONTENT="0; URL=wrong.php">' ;} ?>
Main.php
PHP-Code:
<? echo $_POST["username"];?>
|

16-04-2010, 10:19
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Du machst eine einfache Weiterleitung. Da werden keine Formulardaten übermittelt.
Möglichkeit 1: hängt den Usernamen als Parameter an die URL an. Aber! Ganz böse.
Möglichkeit 2: Arbeite mit Sessions. Das ist der richtige Weg.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

16-04-2010, 10:55
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Dein HTML-Code ist fehlerhaft.
<meta> Tags gehören übrigens in den HTML-Header.
Außerdem musst du HTML-Attribute in Anführungszeichen schreiben.
Das sind aber HTML-Grundlagen, die du kennen solltest, bevor du anfängst PHP zu programmieren.
|

16-04-2010, 11:00
|
|
tinasharma18hh
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 36
|
|
Ich hab jetzt die Sache mit Sessions angefangen, aber der gibt mir trotzdem noch nicht den username aus über post..kann jdm helfen?danke
PHP-Code:
<?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { session_start(); $username = $_POST['username']; $passwort = $_POST['passwort']; $hostname = $_SERVER['HTTP_HOST']; $path = dirname($_SERVER['PHP_SELF']); // Benutzername und Passwort werden überprüft if ($username == 'benjamin' && $passwort == 'geheim') { $_SESSION['angemeldet'] = true; // Weiterleitung zur geschützten Startseite if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') { if (php_sapi_name() == 'cgi') { header('Status: 303 See Other'); } else { header('HTTP/1.1 303 See Other'); } } header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/MAIN.php'); exit; } } ?>
MAIN.PHP
PHP-Code:
<?php session_start(); $hostname = $_SERVER['HTTP_HOST']; $path = dirname($_SERVER['PHP_SELF']); if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
$username = $_POST['username'];
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/MAIN.php'); exit; } ?> <? echo $username; ?>
|

16-04-2010, 11:06
|
|
ezkimo
Registrierter Benutzer
|
|
Registriert seit: Apr 2005
Ort: Beckum / Westf.
Beiträge: 211
|
|
Zitat:
Zitat von tinasharma18hh
Ich hab jetzt die Sache mit Sessions angefangen, aber der gibt mir trotzdem noch nicht den username aus über post..kann jdm helfen?
|
PHP: Registrierung einer Variablen mit $_SESSION. - Manual
Ich denke, dass Du Dich in das Thema Sessions ersteinmal einlesen solltest. Dein Codebeispiel macht in Bezug auf Sessions mal so gar keinen Sinn.
|

16-04-2010, 11:10
|
|
tinasharma18hh
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 36
|
|
ich möchte einfach nur den Usernam aus dem Login an die Main.php geben. Kann mir jdm bitte einen Tipp geben über den Session Code?
Würde extrem dankbar sein.
Danke
|

16-04-2010, 11:20
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Das ist tinnef.
PHP-Code:
$_SESSION['angemeldet'] = true;
mach das so:
PHP-Code:
$_SESSION['user'] = $_POST['username'];
und in der Main.php machst du dann mal ein
PHP-Code:
print_r($_SESSION);
Außerdem ist diese ganze Weiterleitungsorgie überflüssig wie ein Kropf.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

16-04-2010, 12:50
|
|
tinasharma18hh
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 36
|
|
es geht leider so auch nicht:???ich brech gleich zusammen
Index.php
PHP-Code:
<?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { session_start(); $username = $_POST['username']; $passwort = $_POST['passwort']; $hostname = $_SERVER['HTTP_HOST']; $path = dirname($_SERVER['PHP_SELF']); // Benutzername und Passwort werden überprüft if ($username == 'benjamin' && $passwort == 'geheim') { $_SESSION['user'] = $_POST['username']; // Weiterleitung zur geschützten Startseite if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') { if (php_sapi_name() == 'cgi') { header('Status: 303 See Other'); } else { header('HTTP/1.1 303 See Other'); } } header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/Main.php'); exit; } } ?>
Main.php
PHP-Code:
<?php session_start(); $hostname = $_SERVER['HTTP_HOST']; $path = dirname($_SERVER['PHP_SELF']); if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
$username = $_POST['username'];
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/Main.php'); exit; } ?> <? print_r($_SESSION); ?>
Bitte bitte helft mir weiter  (
|

16-04-2010, 13:01
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Wie wäre es mal, wenn du ein wenig mitdenkst? Dann wirst du sehen, dass in der Main.php kein $_SESSION['angemeldet'] existiert. Du musst auf $_SESSION['user'] prüfen. Also pack das print_r direkt unter session_start(): und kommentier die Weiterleitung aus. Dann siehst auch, was du in der Session hast. Und das mit dem $_POST in der Main.php ist sowieso völlig sinnfrei. Da gibt es keine Post-Werte!
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

16-04-2010, 13:11
|
|
streuner
Registrierter Benutzer
|
|
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 461
|
|
Schon mal die links angeschaut zu Sessions?
PHP: Sessions - Manual
PHP: session_start - Manual
schreibt bei der index.php das session_start(); in die 1. Zeile und sag bitte, genau, was nicht geht, oder ob es Fehler gibt, wenn ja welche usw.! Wofür hast Du das POST in der main.php??
Streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.
"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
|

16-04-2010, 15:26
|
|
tinasharma18hh
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 36
|
|
ok also es geht fast..das problem ist jetzt nur noch die ausgabe. ich habs mit echo und auch print versuch, aber kommt nix..
PHP-Code:
<?php session_start(); print_r($_SESSION); $hostname = $_SERVER['HTTP_HOST']; $path = dirname($_SERVER['PHP_SELF']); if (!isset($_SESSION['user']) || !$_SESSION['user']) { exit; } ?>
PHP-Code:
<? print_r($_SESSION); ?>
es tut mir so leid, wenn ich mich "anstelle" 
Ich zieh mir auch am We mal das Manual rein
Soll ich die Ausgabe anders formulieren?LG
|

16-04-2010, 15:29
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Zitat:
|
das problem ist jetzt nur noch die ausgabe
|
Was für eine Ausgabe?
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

16-04-2010, 15:34
|
|
tinasharma18hh
Registrierter Benutzer
|
|
Registriert seit: Feb 2010
Beiträge: 36
|
|
Zitat:
Zitat von Kropff
Was für eine Ausgabe?
Peter
|
Ich möchte nur den Username ausgeben was da jetzt steht ist:
Array ( [angemeldet] => 1 [user] => Peter)
aber ich will 'Peter' ausgeben..hattes es ja mit
PHP-Code:
<? print_r($_SESSION); ?>
versucht ...
|

16-04-2010, 15:46
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.310
|
|
Du schaust dir jetz sofort die Grundlagen von assoziativen Arrays an. Bei Sessions funktioniert das genau so. Und bei Post- und Get-Werten ebenso!
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|