Datenübergabe an andere Webseite... aber...
MichaelS
- php
Hallo Ihr lieben...
Knalle gleich wie ein Kracher ab... ;-), habe das eine Problem gelöst, kommt das nächste...
Mann hat mir heute schon geholfen, wie ich z.B. einen Logginnamen (benutzername) in eine Session rein bringe, habe jetzt aber ein ganz anderes Problem...
Wenn ich diese Session "auslese" kommt immer der Std. von PHPSESSID !
Frage mich abe andauernd warum...!??
Habe folgenden auslesecode in eine Dreamweaver Seite integriert:
...
<p>Bitte wählen Sie aus, was Sie bearbeiten möchten:</p>
<p>Sie sind eingeloggt als:
<?php $logname = SESSION_NAME(); echo " $logname<p>";?></p> ***************************************************
<blockquote>
<p><font size="2" face="Arial, Helvetica, sans-serif"><strong><a href="/Wirtschaft/meinjupu.php">Mein
JUPU</a></strong></font></p>
...
Warum funktioniert das nicht? Ist etwa gar keine neue session angelegt wirden? Wenn ich statt session_name - session_id eingebe... wird diese auch tatsächlich ausgelesen?
Das ist der Code wo die Benutzer geprüft werden:
<?php
include("kontakt.inc");
if(@mysql_connect($host, $user, $pwd))
if(@mysql_select_db($dbname))
{
$erg=@mysql_query("SELECT benutzername, kw FROM benutzer WHERE benutzername = '{$_POST['benutzername']}' AND kw = '".md5($_POST['kw'])."'");
$erg=mysql_fetch_array($erg,MYSQL_ASSOC);
if($erg['kw']==md5($_POST['kw']))
{ session_start();
$_SESSION["benutzername"] = $_POST["benutzername"];
header("Location: /wirtschaft/auswahl.php"); }
else
header("Location: /wirtschaft/logginfehler.htm");
}
mysql_close()
?>
IST doch alles richtig oder???
Wäre nett eine kurze Antwort zu bekommen...
Michael
PS: Habe auch versucht was über diverse "Anleitungen" rauszubekommen, aber die bringen mich auch nicht weiter...
Hallo Michael,
Mann hat mir heute schon geholfen, wie ich z.B. einen Logginnamen (benutzername) in eine Session rein bringe, habe jetzt aber ein ganz anderes Problem...
Frau auch ;-) (SCNR)
Wenn ich diese Session "auslese" kommt immer der Std. von PHPSESSID !
Zitiere aus Romys Posting
Der benutzername steht ja nicht in verbindung mir der sessionnummer oder?
je nachdem wie Du es definierst
wenn Du in dieser session eine Varianble $benutzername definierst
$_SESSION["benutzername"] = nameausform;danach kannst Du alle Abfragen an Datenbanken oder ähnlichemit diesem Benutzernamen machen.
da
{ session_start();
$_SESSION["benutzername"] = $_POST["benutzername"];
header("Location: /wirtschaft/auswahl.php"); }
Müsste dann eigentlich
<?php $logname = $_SESSION("benutzername"); echo " $logname<p>";?></p>
werden
...
Tipp am Rande. Eigentlich setzt Du Deinen alten Thread fort, weil Du Dein Problem noch nicht ganz gelöst hast. Bleib' doch im alten Thread. Da gucken welche hin, ganz bestimmt. Vor allem die, die da schon gepostet haben.
Gruss,
Vinzenz
PS <schäm>Ich weiß, ich hätte dann nicht helfen dürfen</schäm>
Hallo Vinzenz,
{ session_start();
$_SESSION["benutzername"] = $_POST["benutzername"];
header("Location: /wirtschaft/auswahl.php"); }Müsste dann eigentlich
<?php $logname = $_SESSION("benutzername"); echo " $logname<p>";?></p>
werden
Habe ich versucht, aber dann bekomme ich folgende Meldung:
Call to undefined function: () in e:\jupu.dyndns.org\wirtschaft\auswahl.php on line 95
Verstehst du das? :-)) Ich leider gar nicht mehr... :-)
Hast du noch eine andere Idee? Ich habe schon ein paar sachen ausprobiert, aber session ist für mich was ganz neues... kann viele Beschreibungen leider nicht mal deuten...
Zu deinem Tipp... wegen Teahd... Sorry, war nicht böse gemeint... dachte das sind eigentlich zwei unterschiedliche Probleme... vorher war es wie bekomme ich es rein und jetzt wie bekomme ich es wieder ausgelesen... naja... kopf verwenden ;-) Sorry... nochmal...
Du kann es sein, daß der "session - benutzername" gar nicht übertragen wird von dem einem php zum nächsten ?
Michael
Und danke für deine Hilfe :-))
Hallo Vinzenz,
auch das hat nicht geholfen :) Das Feld bleibt immer noch leer.
Kann es damit zusammenhängen, daß wo die session beginnt und wo sie ausgelesen wird, zwei dateien sind?
Gesetzt wird es ja auf der Seite bei der Benutzerabfrage...
Also eine Seite wo mann benutzer eingibt usw. dann kommt das php mit der prüfung des Kennwortes und des Passwortes (wenn passwort und kennwort ok, wird die session festgesegt) und dann geht es erst zur auslesung, aber halt in einer neuen seite...
Wie gesagt, das feld bleibe auch bei [] Klammern leer.
Michael
Jetzt klappts...
Danke für deine Hilfe...
Habe da was wichtiges übersehen, daß ich immer falsch verstanden habe... Dachte session_start() mach immer eine neu, dawei... führt es auch fort!
Nochmal danke für deine Hilfe...
Michael
Hallo,
Wenn ich diese Session "auslese" kommt immer der Std. von PHPSESSID !
PHPSESSID ist der Name der Variablen, die die Session ID enthält
(ist in der php.ini oder über session_name konfigurierbar).
<p>Sie sind eingeloggt als:
<?php $logname = SESSION_NAME(); echo " $logname<p>";?></p>
Damit gibst du nur den Namen der Session aus, du willst aber doch
den Benutzernamen ausgeben, den du vorher in der Session
(also im superglobalen $_SESSION - Array) gespeichert hast.
Die Ausgabe sollte also so lauten:
<?php echo $_SESSION['benutzername']; ?>
<p><font size="2" face="Arial, Helvetica, sans-serif"><strong><a href="/Wirtschaft/meinjupu.php">Mein
JUPU</a></strong></font></p>
http://selfhtml.teamone.de/css/index.htm
Das ist der Code wo die Benutzer geprüft werden:
<?php
include("kontakt.inc");
Ich nehme mal an, da stehen die Zugangsdaten zu mysql Datenbank drin.
Daher sollte man das kontakt.inc.php nennen, damit das Script
geparst und die darin enthaltenen Variablen beim Aufruf desselben
nicht angezeigt werden.
if(@mysql_connect($host, $user, $pwd))
if(@mysql_select_db($dbname))
Wieso unterdrückst du alle Fehlermeldungen, anstatt sie zu behandeln?
{
$erg=@mysql_query("SELECT benutzername, kw FROM benutzer WHERE benutzername = '{$_POST['benutzername']}' AND kw = '".md5($_POST['kw'])."'");
$erg=mysql_fetch_array($erg,MYSQL_ASSOC);
if($erg['kw']==md5($_POST['kw']))
Das prüfst du doch in der SQL Query schon, du brauchst also lediglich
zu schauen, ob die Query ein Ergebnis lieferte oder nicht.
Gruß,
dimde
Hallo dimde ...
<?php $logname = SESSION_NAME(); echo " $logname<p>";?></p>
Die Ausgabe sollte also so lauten:
<?php echo $_SESSION['benutzername']; ?>
Klappt nicht, das Feld bleibt jetzt einfach leer. Es wird kein "benutzername" angezeit.
Kann es sein, daß die session nicht übertragen wird? Muß ich vielleich erneut session_start() aufrufen? ne oder... weil damit würde ich ja den "benutzernamen" wieder überschreiben... aber woran könnte es noch liegen... habe alles bald durch...
Hast du noch ne Idee?
Danke für deine Rückantwort...
:-)
Michael
Hallo,
Kann es sein, daß die session nicht übertragen wird? Muß ich vielleich erneut session_start() aufrufen? ne oder... weil damit würde ich ja den "benutzernamen" wieder überschreiben... aber woran könnte es noch liegen... habe alles bald durch...
achso, das tust du gar nicht :)
Doch, du musst auf allen Seiten, auf denen du die Session verwenden willst, session_start() am Anfang (also _bevor_ du irgendwas ausgibst - sonst funktioniert eine cookie-basierende Session nicht) aufrufen.
Session_start() startet ja nicht nur eine Session, sondern setzt diese auch fort.
siehe http://www.php.net/manual/en/function.session-start.php
<quote>session_start() creates a session (or resumes the current one based on the session id being passed via a GET variable or a cookie).</quote>
Damit steht dir dann wieder der $_SESSION Array zur Verfügung.
Gruß,
dimde
Hallo,
Kann es sein, daß die session nicht übertragen wird? Muß ich vielleich erneut session_start() aufrufen? ne oder... weil damit würde ich ja den "benutzernamen" wieder überschreiben... aber woran könnte es noch liegen... habe alles bald durch...
achso, das tust du gar nicht :)
Nein... :-( leider... aber jetzt schon... und siehe da es funktioniert!!! Vielen Dank !!!!!!!
Ich dachte immer, so habe ich alle "Anleitungen" gedeutet, daß Session_start() immer eine neue session festlegt... so kann mann sich teuschen... leider... bin ich doof...
Aber vielen vielen Dank !!!
Gruß
Michael