php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Webmaster > Webmaster
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


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

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 15-02-2015, 02:42
ssmiletkzi
 Registrierter Benutzer
Links : Onlinestatus : ssmiletkzi ist offline
Registriert seit: Feb 2015
Beiträge: 5
ssmiletkzi befindet sich auf einem aufstrebenden Ast
Question URL mit Sessions ID von Nutzern..

Hallöchen Forum,

habe mal einen bescheidene Frage.
gibt es bestimmt schon mein Thema ich iwie komme ich nicht weiter mit allem was mir helfen konnte..

Mein Problem:

Ich versuche seite Tagen mein Loginscript so zu erweitern dass zum Beispiel wenn man eingeloggt ist dieser link erscheint : http://meinedomain.de/login/myprofil.php?nutzername (hier soll dann der nutzername hin)

bis jetzt kommt bei mir : http://domain.de/login/myprofil.php?session=

Code:
      <?php
    error_reporting(E_ALL);
    include("mysql.php");
    include("functions.php");

    // Session starten
    session_start();
    include("autologout.php");

    if(isset($_POST['submit']) AND $_POST['submit']=='Einloggen'){
        // Falls der Nickname und das Passwort übereinstimmen..
        $sql = "SELECT
                        ID
                FROM
                        User
                WHERE
                        Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' AND
                        Passwort = '".md5(trim($_POST['Passwort']))."'
               ";
        $result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
        // wird die ID des Users geholt und der User damit eingeloggt
        $row = mysql_fetch_assoc($result);
        // Prüft, ob wirklich genau ein Datensatz gefunden wurde
        if (mysql_num_rows($result)==1){
             doLogin($row['ID'], isset($_POST['Autologin']));
             echo "<p>Willkommen <font style='color:#ff0000;'>".$_SESSION['Nickname']."</font></p>\n";
             echo "<font style='color:#00ff00;'>Du wurdest erfolgreich eingeloggt.<br></font>\n<br>".
                  " <a href=\"player\" style='color:#069;' target=\"_blank\">Webradio</a> | <a href=\"#\" style='color:#069;'></a> | <a href=\"myprofil.php?session=$session\" target=\"_blank\" style='color:#069;'> Mein Profil </a> | <a href=\"logout.php\" style='color:#069;'>Ausloggen </a><br>";
        }
        else{
             echo "<b>Du konntest nicht eingeloggt werden.</b><br>\n".
                  "<font style='color:#ff0000;'>Benutzername</font> oder <font style='color:#ff0000;'>Passwort fehlerhaft.</font><br>\n".
                  "Zurück zum <a style='color:#069;' href=\"".$_SERVER['PHP_SELF']."\">Login-Formular</a>\n";
        }
    }
    
    else{
        echo "<form ".
             " name=\"Login\" ".
             " action=\"".$_SERVER['PHP_SELF']."\" ".
             " method=\"post\" ".
             " accept-charset=\"ISO-8859-1\">\n";
        echo "<input type=\"text\" name=\"Nickname\" maxlength=\"32\" placeholder=\"Benutzername:\" style=\"border-radius:10px;\" autocomplete=\"off\">\n";
        echo "<br>\n";
        echo "<input type=\"password\" name=\"Passwort\" placeholder=\"Passwort:\" style=\"border-radius:10px;\" autocomplete=\"off\">\n";
        echo "<br>\n";
        echo "eingeloggt bleiben :\n";
        echo "<input type=\"checkbox\" name=\"Autologin\" value=\"1\">\n";
        echo "<br>\n";
        echo "<input type=\"submit\" name=\"submit\" value=\"Einloggen\" style=\"border-radius:10px;\">\n";
        echo "<br>\n</td>";
        echo "</form>\n";
    }
Ich hoffe ihr habt Tipps für mich , ich verzweifel gleich
Mit Zitat antworten
  #2 (permalink)  
Alt 15-02-2015, 03:43
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Die Ausgabe dieses Links ist die absolut einzige Stelle in deinem Script, wo $session verwendet wird – wo soll denn da diese Variable mit einem Wert belegt worden sein …?

Btw., so viel HTML-Code mit echo auszugeben ist hässlich und umständlich. Schließe lieber den PHP-Bereich, schreibe „normales“ HTML, und öffne den PHP-Bereich nur an den Stellen wieder, wo du ihn bspw. für die dynamische Ausgabe von Werten brauchst … dann brauchst du auch nicht so viele Anführungszeichen escapen. Lies dir mal http://php.net/manual/de/language.ba...ax.phpmode.php durch.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 15-02-2015, 13:15
ssmiletkzi
 Registrierter Benutzer
Links : Onlinestatus : ssmiletkzi ist offline
Registriert seit: Feb 2015
Beiträge: 5
ssmiletkzi befindet sich auf einem aufstrebenden Ast
Standard CODE geändert


so habe es jetzt übersichtlicher gemacht.

wie war das denn noch mal mit der Datenbank Abfrage ?

Code:
<?php 
$sql = ("SELECT FROM user WHERE Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."');

$result = mysql_query($sql) OR die ("<pre>/n" .$sql. "</pre>/n" . myssql_error());

$row = mysql_fetch_assoc($result);

?>
und jetzt komme ich net weiter , weiß jetzt nich wie ich den User in $row bekomme und anschließend als url ausgeben kann (domain.de/login/username)

Hier jetzt der etwas veränderte Code:

Code:
      <?php
    error_reporting(E_ALL);
    include("mysql.php");
    include("functions.php");

    // Session starten
    session_start();
    include("autologout.php");

    if(isset($_POST['submit']) AND $_POST['submit']=='Einloggen'){
        // Falls der Nickname und das Passwort übereinstimmen..
        $sql = "SELECT
                        ID
                FROM
                        User
                WHERE
                        Nickname = '".mysql_real_escape_string(trim($_POST['Nickname']))."' AND
                        Passwort = '".md5(trim($_POST['Passwort']))."'
               ";
        $result = mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
        // wird die ID des Users geholt und der User damit eingeloggt
        $row = mysql_fetch_assoc($result);
        // Prüft, ob wirklich genau ein Datensatz gefunden wurde
        if (mysql_num_rows($result)==1){
             doLogin($row['ID'], isset($_POST['Autologin']));
             echo "<p>Willkommen <font style='color:#ff0000;'>".$_SESSION['Nickname']."</font></p>\n";
             echo "<font style='color:#00ff00;'>Du wurdest erfolgreich eingeloggt.<br></font>\n<br>".
                  " <a href=\"player\" style='color:#069;' target=\"_blank\">Webradio</a> | <a href=\"#\" style='color:#069;'></a> | <a href=\"myprofil.php?session=$session\" target=\"_blank\" style='color:#069;'> Mein Profil </a> | <a href=\"logout.php\" style='color:#069;'>Ausloggen </a><br>";
        }
        else{
             echo "<b>Du konntest nicht eingeloggt werden.</b><br>\n".
                  "<font style='color:#ff0000;'>Benutzername</font> oder <font style='color:#ff0000;'>Passwort fehlerhaft.</font><br>\n".
                  "Zurück zum <a style='color:#069;' href=\"".$_SERVER['PHP_SELF']."\">Login-Formular</a>\n";
        }
    }
    
    else{
        
        
        echo "<form ".
             " name=\"Login\" ".
             " action=\"".$_SERVER['PHP_SELF']."\" ".
             " method=\"post\" ".
             " accept-charset=\"ISO-8859-1\">\n";
             
             ?>
        <input type="text" name="Nickname" maxlength="32" placeholder="Benutzername:" style="border-radius:10px;" autocomplete="off"><br>
        <input type="password" name="Passwort" placeholder="Passwort:" style="border-radius:10px;" autocomplete="off"><br>
        eingeloggt bleiben :
        <input type="checkbox" name="Autologin" value="1"><br>
        <input type="submit" name="submit" value="Einloggen" style="border-radius:10px;"><br>
        <?php echo "</form>";
    }
$session = session_id();
?>
;(

Noch ein Hinweis dieses Script habe ich net selbst gemacht da ich dazu keine Zeit habe , habe allerdings kleine Änderungen vorgenommen.
Mit Zitat antworten
  #4 (permalink)  
Alt 15-02-2015, 15:11
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Mit der gezeigten Query bekommst du den Usernamen gar nicht, weil du ihn überhaupt nicht selektiert hast …

Wenn du an fertigen Scripten herum basteln willst, wirst du trotzdem ein bisschen Grundlagenwissen brauchen, ohne das wird es nichts.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 15-02-2015, 17:06
ssmiletkzi
 Registrierter Benutzer
Links : Onlinestatus : ssmiletkzi ist offline
Registriert seit: Feb 2015
Beiträge: 5
ssmiletkzi befindet sich auf einem aufstrebenden Ast
Standard

Naja bin eigentlich lieber jemand der an CSS Stylesheets bastelt.

PHP Code nur wenn es unbedingt sein muss was in diesem Fall der Fall ist

Aber mit Jquery oder Javascript bin ich nicht so der Freund davon.
Obwohl es mit DW CC 14 etwas vereinfacht wird.

Meistens bekomme ich bei meinem Scripten die ich erstelle nur rote Makierungen die eigentlich nicht dort sein sollen wo die sind sind im regelfall nur syntax fehler und auch meistens bei if / else abfragen.

Vergess ab und zu die bescheidenen Klammern und dies mag Dreamweaver überhupt nicht.

Zurück zum eigentlichen Problem.

bei php-einfach.de hab ich was gelesen mit Get Variablen ($GET = ["session"] ) dies ist nämlich das was noch undefiniert ist weil ich da net weiter komme, falls das überhaupt sinn macht Get Variablen zu erstellen..

Sinvoll oder sinnlos ?

($session = session_id )
Sorry dass ich gerade etwas vom Thema abgleitet bin
Mit Zitat antworten
  #6 (permalink)  
Alt 15-02-2015, 20:40
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.668
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Ob das so schlau ist an Software rumzubasteln, die man nicht versteht? Vor allem wenn du ohne Ahnung an einem Login rumbastelst, kannst du das mit dem Login eigentlich gleich sein lassen und alles jedem zugänglich machen. Denn die Wahrscheinlichkeit, dass du Sicherheitslücken einbaust, ist ziemlich hoch.
Mit Zitat antworten
  #7 (permalink)  
Alt 15-02-2015, 21:40
ssmiletkzi
 Registrierter Benutzer
Links : Onlinestatus : ssmiletkzi ist offline
Registriert seit: Feb 2015
Beiträge: 5
ssmiletkzi befindet sich auf einem aufstrebenden Ast
Standard

Wer sagt den dass ich keine Ahnung davon habe, ich weiß schon wie das Loginscript funktioniert schließlich habe ich die ganzen echo´s der Usernamen mit eingebaut das war nicht standard mäßig drin (<?php echo $_SESSION['Nickname']; ?>) und in der regestrierung habe ich einige sachen erweitert und es funktioniert einwandfrei ^^, da kommt zwar noch mehr rein aber fürs erste reicht es ja , die neuen felder können dann meine User selbst erweitern bzw selbst entscheiden welche daten sie angeben wollen.

In der Regestrierung war nur das normale Benutzername und Passwort wählen...

Jetzt haben die User die Variante folgende Sachen anzugeben...

--> Email (Pflicht)
--> AIM
-->Wohnort
--> Homepage
--> Email anzeigen oder verstecken
--> MSN
--> YIM
--> usw.

Ich mag es auch nicht alle Daten von den Usern zu erzwingen bin ja nicht Facebook, deshalb können die sich es ja auch aussuchen was se angeben wollen oder nicht.

Hauptsache die wichtigsten Daten habe ich ... Passwort , Email und Nutzername der Rest ist freiwillig..

Muss dann nur noch gucken was mit der Passwort-vergessen.php nicht stimmt da macht es nicht das was es soll. Bekomme ich aber alleine hin

Das Wissen wie man den nutzer als Url wiedergibt muss ich ehrlich zugeben kenne ich net bzw. behersche ich nicht.

Ich kann mich noch daran erinnern dass ich es mal geschafft hatte aber ich weiß nicht mehr wie war vor ca einem Jahr. Dann hatte ich nämlich domain.de/djsven und das so hinzubekommen ist jetzt mein Ziel und habe auch da schon ne Idee
Mit Zitat antworten
  #8 (permalink)  
Alt 15-02-2015, 21:43
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.668
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ssmiletkzi Beitrag anzeigen
Wer sagt den dass ich keine Ahnung davon habe, ich weiß schon wie das Loginscript funktioniert schließlich habe ich die ganzen echo´s der Usernamen mit eingebaut das war nicht standard mäßig drin (<?php echo $_SESSION['Nickname']; ?>)
Wunderbar, und hast damit gleich deine erste Sicherheitslücke gebaut.

Werte, die in HTML-Code ausgegeben werden, müssen immer mit htmlspecialchars() maskiert werden.

Zitat:
Zitat von ssmiletkzi Beitrag anzeigen
und in der regestrierung habe ich einige sachen erweitert und es funktioniert einwandfrei ^^
Es ist häufig so, dass es für denjenigen, der die Fehler in Anwendungen macht, die Anwendung funktioniert. Sonst würde es keine fehlerhaften Anwendungen geben, wenns der Programmierer selber erkannt hätte
Mit Zitat antworten
  #9 (permalink)  
Alt 15-02-2015, 21:49
ssmiletkzi
 Registrierter Benutzer
Links : Onlinestatus : ssmiletkzi ist offline
Registriert seit: Feb 2015
Beiträge: 5
ssmiletkzi befindet sich auf einem aufstrebenden Ast
Standard

Stimmt wo du recht hast haste halt recht. jetzt weiß ich was ich eigentlich machen wollte danke für den Tipp

melde mich wieder wenn ich ein bissel weiter bin...

in meinen Login und Regstrierung habe ich die htmlspecialchars() verwendet ^^


.....

Ich kanns doch noch ^^ funktioniert username wird als Link ausgeben einfach : <a href=\"myprofil.php?id=".$row['Nickname']."\">".$row['Nickname']."</a>\n

Geändert von ssmiletkzi (15-02-2015 um 22:11 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 15-02-2015, 23:02
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.668
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Und hier hast du wieder zweimal htmlspecialchars() vergessen und einmal urlencode().
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
session_id, url benutzer link


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ajax Chat mit long pollin bei 500 nutzern? Gamer20 Off-Topic Diskussionen 0 10-11-2013 22:09
PP-ID-URL (über Sessions) auf Startseite umleiten _DD_ PHP Developer Forum 3 19-02-2007 03:13
Tutorial "ogin mit Hilfe von PHP und mySQL" mit mehreren Nutzern und selben Namen mardin PHP Developer Forum 5 26-07-2006 19:35
Sessions und URL strauberry PHP Developer Forum 2 28-02-2006 12:32
[PHP5] Variablenübergabe in URL in Sessions HSchmoll PHP Developer Forum 20 03-04-2005 10:42

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

jqPlot jQuery Plotting Plugin ansehen jqPlot jQuery Plotting Plugin

jqPlot ist ein plotting und charting plugin für das jQuery Javascript framework

06.11.2019 Berni | Kategorie: AJAX/ Framework
WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

10.10.2019 Stephan_1972 | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:57 Uhr.