| Webmaster Fragen rund um die Homepage. Hier könnt ihr eure Tips und Anregungen an andere Webmaster und Homepagebetreiber weitergeben. |
 |
|

07-08-2009, 08:51
|
|
Alain_S_
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 63
|
|
Wie bekomme ich den Anmeldenamen zur Brgrüßung auf die erste Seite
Hallo
Ich habe auf meiner kleinen HP ein Mitgliederbereich.
Ich arbeite mit Dreamweaver 8 und habe bereist die Datenbank erstellt mit den BenutzerDaten. Die Anmeldung und alles klappt auch wunderbar. Jetzt hätteich gerne, dass bei jedem Benutzer, der sich auf meiner Page anmeldet mit seinem Benutzernamen brgrüßt wird. ich weiß aber nicht, wie ich das genau machen kann ich vermute mal, dass ich dafür ein verstecktes Feld brauche, ist aber nur eine Vermutung.
Kann mir da vielleicht jemand weiterhelfen?
Gruß
|

07-08-2009, 10:47
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zum "zeigen" sind versteckte Felde nicht gedacht...
 Die heiißen ja nicht umsonst "versteckte Felder"
Dazu ist ehr schon sowas geeignet:
PHP-Code:
echo $user->getName();
(falls du denn auch eine User Klasse einsetzt)
|

07-08-2009, 11:15
|
|
mkb_webprint
Registrierter Benutzer
|
|
Registriert seit: May 2009
Beiträge: 53
|
|
Ich schmeiße mal wieder meinen Lieblingsbegriff in den Ring.
Nimm ne Session her und leg den Username da ab (wenn du die User Daten erfolgreich geprüft hast), den kannst du dann auf deinen Seiten auslesen und entsprechend mit echo anzeigen.
PHP-Code:
<?php session_start(); // Gaaaanz wichtig, muss am Anfang der Datei stehen!!! // Deine Prüfung ob Passwort und so stimmt //..... //..... session_register('benutzername'); $_SESSION['benutzername'] = $deine_benutzernamen_variable; // Weiterleitung auf die geschützte Seite oder was auch immer // du nach dem erfolgreichen Login machst ?>
Wenn du den Benutzername jetzt auf einer Seite auslesen willst machst du das so:
PHP-Code:
<?php session_start(); echo 'Hallo ' . $_SESSION['benutzername'] . ', schön das du da bist.'; ?>
Lies dir einfach mal das durch was du zu Sessions in PHP findest ;-)
|

07-08-2009, 12:12
|
|
Alain_S_
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 63
|
|
Zitat:
Zitat von mkb_webprint
Ich schmeiße mal wieder meinen Lieblingsbegriff in den Ring.
Nimm ne Session her und leg den Username da ab (wenn du die User Daten erfolgreich geprüft hast), den kannst du dann auf deinen Seiten auslesen und entsprechend mit echo anzeigen.
|
Leider habe ich keine erfahrung mit dem Code-
und es klappt irgendwie nie so richtig wenn ich etwas im code einfüge weiß auch nicht warum :-/
ich habe jetzt ein Musterdokument erstellt, und versuche das hier jetzt zu posten. vielleicht mir ja jemand sagen, wo das hin soll :-/
PHP-Code:
<?php require_once('Connections/Mitglieder_Anmeldung.php'); ?> <?php mysql_select_db($database_Mitglieder_Anmeldung, $Mitglieder_Anmeldung); $query_mitglieder_anmeldung = "SELECT * FROM mitglieder_anmeldung ORDER BY Vorname ASC"; $mitglieder_anmeldung = mysql_query($query_mitglieder_anmeldung, $Mitglieder_Anmeldung) or die(mysql_error()); $row_mitglieder_anmeldung = mysql_fetch_assoc($mitglieder_anmeldung); $totalRows_mitglieder_anmeldung = mysql_num_rows($mitglieder_anmeldung); ?><?php // *** Validate request to login to this site. if (!isset($_SESSION)) { session_start(); } $loginFormAction = $_SERVER['PHP_SELF']; if (isset($_GET['accesscheck'])) { $_SESSION['PrevUrl'] = $_GET['accesscheck']; } if (isset($_POST['textfield'])) { $loginUsername=$_POST['textfield']; $password=$_POST['textfield2']; $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "666.php"; $MM_redirectLoginFailed = "777.php"; $MM_redirecttoReferrer = false; mysql_select_db($database_Mitglieder_Anmeldung, $Mitglieder_Anmeldung); $LoginRS__query=sprintf("SELECT Benutzername, Passwort FROM mitglieder_anmeldung WHERE Benutzername='%s' AND Passwort='%s'", get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); $LoginRS = mysql_query($LoginRS__query, $Mitglieder_Anmeldung) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = ""; //declare two session variables and assign them $_SESSION['MM_Username'] = $loginUsername; $_SESSION['MM_UserGroup'] = $loginStrGroup; if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; } header("Location: " . $MM_redirectLoginSuccess ); } else { header("Location: ". $MM_redirectLoginFailed ); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Unbenanntes Dokument</title> </head> <body> <form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>"> <label for="textfield">Benutzername</label> <input type="text" name="textfield" id="textfield" /> <label for="label"></label> <br /> <label for="label">Passwort</label> <input type="text" name="textfield2" id="label" /> <label for="Submit"></label> <br /> <input type="submit" name="Submit" value="anmelden" id="Submit" /> </form> </body> </html> <?php mysql_free_result($mitglieder_anmeldung); ?>
kann man mit dieser Variante auch in Aktualisierungsformular für die Datenbank den Benutzernamen so einfügen, dass man nur seinen Benutzernamen in der Datenbank einfügen kann?
Geändert von Alain_S_ (07-08-2009 um 12:33 Uhr)
|

07-08-2009, 12:48
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
session_register(); ist total veraltet! Schnell wieder vergessen....
addslashes() ist die falsche Funktion. Man verwendet mysql_real_escape_string()
Deine Location Header entsprechen nicht der HTTP Spezifikation.
$_SERVER['PHP_SELF'] ermöglicht oft XSS Attacken
Geändert von combie (07-08-2009 um 12:51 Uhr)
|

07-08-2009, 13:11
|
|
Alain_S_
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 63
|
|
Zitat:
Zitat von combie
session_register(); ist total veraltet! Schnell wieder vergessen....
addslashes() ist die falsche Funktion. Man verwendet mysql_real_escape_string()
Deine Location Header entsprechen nicht der HTTP Spezifikation.
$_SERVER['PHP_SELF'] ermöglicht oft XSS Attacken
|
Ja das glaube ich dir gerne, ich habe ja keine Ahnung, aber ich benötige eine einfache Möglichkeit da ich noch Anfänger bin. Wenn die Seite mal läuft, kann ich in Ruhe mich mit der Sache auseinandersetzen und dann auch noch Änderungen vornehmen.
Aber bis dahin versuche ich es mit session_register()
wenn mir jemand sagen könnte, wo ich das in meinem Code (habe ihn in einem oberen Beitrag gepostet) einfügen muss.
Alain
|

07-08-2009, 13:18
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Klar, kannst du versuchen mit deiner Teetasse einen Nagel in die Wand zu kloppen...
Aber lass es dir gesagt sein:
Die gleichzeitige Verwendung von session_register() und $_SESSION in ein und demselben Script ist einfach nur *** !!
|

07-08-2009, 13:28
|
|
Alain_S_
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 63
|
|
Zitat:
Zitat von combie
Klar, kannst du versuchen mit deiner Teetasse einen Nagel in die Wand zu kloppen...
Aber lass es dir gesagt sein:
Die gleichzeitige Verwendung von session_register() und $_SESSION in ein und demselben Script ist einfach nur *** !!
|
Was machst du mir dann für einen Vorschlag, ich habe oben mein Code gepostet, wen du mir sagen kannst, wo ich deine Möglichkeit einfügen muss und wie ich das nachher auf den nächsten Seiten wieder intrgrieren kann mache ich es natürlich auch anders. Bin da ja nicht krampfhaft auf etwas fixiert. Es muss am Ende nur klappen ;-)
Alain
|

07-08-2009, 13:36
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
mkb_webprint hats dir doch schon vorgeführt!!
Du brauchst da nur das session_register(); wegzulassen und deine Index Bezeichner einzusetzen.
|

07-08-2009, 14:54
|
|
Alain_S_
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 63
|
|
Zitat:
Zitat von combie
mkb_webprint hats dir doch schon vorgeführt!!
Du brauchst da nur das session_register(); wegzulassen und deine Index Bezeichner einzusetzen.
|
Seltsam, ich habe es jetzt schon in so vielen Zeilen versucht einzufügen, habe die richtige Zeile scheinbar noch nicht gefunden. Es sagt mit immer einen Felher, in der Zeile wo ich die Teile eingefügt habe.... habe der ersten Teil wie beschrieben ganz oben eingefügt, das ist scheinbar falsch.
Wie finde ich denn dir richtige Zeile?
Alain
Geändert von Alain_S_ (07-08-2009 um 14:57 Uhr)
|

07-08-2009, 15:13
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Du könntest die Fehlermeldung aufmerksam lesen. Da sagt dir PHP was ihm nicht passt.
Falls du du dich damit total überfordert fühlst, könntest du die Fehlermeldung und den fehlerhaften Code auch posten, damit man mal sieht, welchen Bock du da schießt.
Zitat:
|
Wie finde ich denn dir richtige Zeile?
|
Zitat:
|
Jetzt hätteich gerne, dass bei jedem Benutzer, der sich auf meiner Page anmeldet mit seinem Benutzernamen brgrüßt wird.
|
Dort wird es doch wohl einen "Ort" geben....
Aus dem "Ort" in der Darstellung sollte sich der "Ort" im Code ableiten lassen. Woher sollten wir deine Seiten kennen?
|

07-08-2009, 16:37
|
|
Alain_S_
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 63
|
|
Ok die Fehlermeldung ist nun behoben, funktionieren tut es trotzdem noch nicht
Ich habe den ersten Befehl hier eingefügt:
PHP-Code:
mysql_select_db($database_Mitglieder_Anmeldung, $Mitglieder_Anmeldung); $query_mitglieder_anmeldung = "SELECT * FROM mitglieder_anmeldung ORDER BY Vorname ASC"; $mitglieder_anmeldung = mysql_query($query_mitglieder_anmeldung, $Mitglieder_Anmeldung) or die(mysql_error()); $row_mitglieder_anmeldung = mysql_fetch_assoc($mitglieder_anmeldung); $totalRows_mitglieder_anmeldung = mysql_num_rows($mitglieder_anmeldung); ?> <?php session_start(); // Gaaaanz wichtig, muss am Anfang der Datei stehen!!!.................................. // *** Validate request to login to this site. if (!isset($_SESSION)) { session_start(); } $loginFormAction = $_SERVER['PHP_SELF']; if (isset($_GET['accesscheck'])) { $_SESSION['PrevUrl'] = $_GET['accesscheck']; }
und den zweiten hier:
PHP-Code:
$LoginRS = mysql_query($LoginRS__query, $Mitglieder_Anmeldung) or die(mysql_error()); $loginFoundUser = mysql_num_rows($LoginRS); if ($loginFoundUser) { $loginStrGroup = ""; session_register('benutzername'); $_SESSION['benutzername'] = $deine_benutzernamen_variable; // Weiterleitung auf die geschützte Seite oder was auch immer // du nach dem erfolgreichen Login machst
//declare two session variables and assign them $_SESSION['MM_Username'] = $loginUsername; $_SESSION['MM_UserGroup'] = $loginStrGroup; if (isset($_SESSION['PrevUrl']) && false) { $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
Ich weiß aber nicht was der Index Bezeichner ist wo finde ich das? Meinst du den Namen der Anmeldeseite?
Alain
|

07-08-2009, 16:47
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Mache dich über arrays und ihren Index kundig.
Denke logisch!
Lerne PHP
Und ignoriere nicht alle Ansagen, welche dich erreichen.
Beispiel:
Zitat:
|
Gaaaanz wichtig, muss am Anfang der Datei stehen!!!
|
Was ist daran nicht zu verstehen?
------------
PHP-Code:
session_start();
if (!isset($_SESSION)) {
session_start();
}
Was soll das sein?
Doppelt hält besser?
-------------------
Zitat:
|
Du brauchst da nur das session_register(); wegzulassen und ........
|
Was hast du daran nicht verstanden?
Nein!
So macht mir das keinen Spass dir zu helfen.
|

07-08-2009, 17:36
|
|
Alain_S_
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 63
|
|
Zitat:
Zitat von combie
Mache dich über arrays und ihren Index kundig.
Denke logisch!
Lerne PHP
Und ignoriere nicht alle Ansagen, welche dich erreichen.
|
Sorry, ich kann für eine benötigte Funktion schlecht PHP lernen, dafür braucht man Monate und sehr viel Zeit. Der Rest meine HP wäre ja schon fertig.
es geht nur um diese Funktion.
Deshalb habe ich den Code hier gepostet und gehofft, dass man mir hier sagen kann, was ich in welche Zeile einfügen muss.
Alain
Geändert von Alain_S_ (07-08-2009 um 17:59 Uhr)
|

07-08-2009, 19:18
|
|
mkb_webprint
Registrierter Benutzer
|
|
Registriert seit: May 2009
Beiträge: 53
|
|
Zitat:
Zitat von Alain_S_
Sorry, ich kann für eine benötigte Funktion schlecht PHP lernen, dafür braucht man Monate und sehr viel Zeit. Der Rest meine HP wäre ja schon fertig.
es geht nur um diese Funktion.
Deshalb habe ich den Code hier gepostet und gehofft, dass man mir hier sagen kann, was ich in welche Zeile einfügen muss.
Alain
|
Ich kann combie zustimmen, langsam macht es keinen Spaß mehr...
Gib mir dein Script, 20€ und ich bastel es dir so wie es sein muss.
Ansonsten ist dir glaub ich nicht mehr zu helfen, sorry...
|
|
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
|