kostenloser Webspace werbefrei: lima-city


keine Weiterleitung

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    r*******7

    hi liebes hilfbereits forum,
    hilfe, hilfe,
    nun ich habe eine login-system mit sessions in meine homepage integriert
    (hier der link https://www.tutorials.de/resources/php-mysql-login-system-mit-sessions.154/,
    es läuft ohne zu murren auf xampp.

    habe es nun auf meinen lima-city geladen, datenbank ist vorhanden und eingestellt die benutzerdaten zuweisung erfolgte auch ohne fehler.

    nur wenn ich nun die seite aufrufe wird sie gleich angezeigt, nicht das loginformular.

    der ablauf wäre so:
    seite aufrufen-->loginformular--> weiterleitung--> loginsession zur prüfung ob berechtigt oder nicht-->
    berechtigt--> weiterleitung zur freigegebner seite erfolgt nicht-->
    unberechtig--> weiterleitung (zurück) zum loginformular erfolgt nicht.

    die seite www.reikuma27.de wird "normal" angezeigt :frown: klickt man auf ausloggen, wir man auch nicht zum loginformular weitergeleitet, sondern ins leere.

    zum versuch!

    benutzer:kurt
    passwort: kp2709


    http://reikuma27.de/phptest/login.php
    http://reikuma27.de/phptest/formular.php
    http://reikuma27.de/phptest/logout.php
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Also wenn ich probiere mich einzuloggen bekomme ich diesen Fehler angezeigt:

    Keine Verbindung zur Datenbank


    Ist das absicht, dass deine login.php, sowie die logout.php und das formular.php im Ordner phptest liegen?
    Denn dein "Ausloggen"-Link zeigt auch nur auf reikuma27.de/logout.php und nicht auf phptest/logout.php

    Wenn dein Script auf XAMPP lief, hast du es dann auch für den Lima Webspace angepasst?
    Also sind die Pfade und die MySQL Login-Daten richtig?

    Dein Script würde auch weiterhelfen..(aber Vorsicht! Wenn du dein Script zeigst, zensiere deine Logindaten für die DB)
  4. Autor dieses Themas

    r*******7

    hi, erstmal danke für deine antwort!
    also wie kann ich das script dir senden oder aber man sieht es auch hier https://www.tutorials.de/resources/php-mysql-login-system-mit-sessions.154/.

    in dieser php login-system wurden nur die datenbank angepasst und meine benutzer geändert und wie schon geschrieben die datenbank anpassung war erfolgreich ist es noch.

    die drei php-datein habe ich nur in den ordner zum anschauen oder wie auch immer, ist aber wieder gelöscht.
    den test benzutzer und das passwort habe ich auch wieder gelöscht.:thumb:

    ich weis nicht wieso die weiterleitung nicht klappt:pissed:

    dies ist das formular.php

    <?php session_start (); ?>
    <!DOCTYPE html>
    <html><head>
     
      <meta content="text/html;charset=UTF-8" http-equiv="Content-Type"><title>Login</title>
      <link rel="stylesheet" href="css3/css3.css" type="text/css">
      
      <style type="text/css">
    body {
      background-color: #999999;
    }
    h1 {
      color: white;
      text-decoration: underline;
    }
    #form {
      margin: 0px auto;
      padding: 10px 0px 10px 25px;
      width: 204px;
      background-color: #eaeaea;
    }
    .user {
      padding: 6px;
      color: black;
    }
    .passw {
      padding: 6px;
    }
    .einloggen {
      padding: 5px;
      margin-bottom: 5px;
      color: white;
      background-color: #990000;
      font-weight: lighter;
    }
    
      </style>
    </head><body>
    <?php
    if (isset ($_REQUEST["fehler"]))
    {
      echo "Die Zugangsdaten waren ungültig.";
    }
    ?> 
    <h1>Login</h1>
    
    Bitte logge dich ein:<br>
    
    <form name="Login" id="form" method="post" action="login.php?">
    Name:<br>
      <input class="user" maxlength="50" size="25" name="name"> <br>
    Kennwort:<br>
      <input class="passw" maxlength="50" size="25" name="pwd" type="password"><br>
      <br><input type="submit" value="Login"> 
    </form>
    
    
    </body></html>


    dies ist das logout.php

    <?php
    ob_start ();
     
    session_start ();
    session_unset ();
    session_destroy ();
     
    header ("Location: formular.php");
    ob_end_flush ();
    ?>


    diese ist das login.php

    <?php
    
    session_start ();
     
    $connectionid = mysql_connect ("mysql.lima-city.de", "USERxxxxx", "passwort");
    if (!mysql_select_db ("datenbank", $connectionid))
    {
      die ("Keine Verbindung zur Datenbank");
    }
     
    $sql = "SELECT ".
        "Id, Nickname, Nachname, Vorname ".
      "FROM ".
        "benutzerdaten ".
      "WHERE ".
        "(Nickname like '".$_REQUEST["name"]."') AND ".
        "(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
    $result = mysql_query ($sql);
     
    if (mysql_num_rows ($result) > 0)
    {
      $data = mysql_fetch_array ($result);
     
      $_SESSION["user_id"] = $data["Id"];
      $_SESSION["user_nickname"] = $data["Nickname"];
      $_SESSION["user_nachname"] = $data["Nachname"];
      $_SESSION["user_vorname"] = $data["Vorname"];
     
      header ("Location: galerie.php");
    }
    else
    {
      header ("Location: formular.php?fehler=1");
    }
    ?>


    dies ist das checkuser.php

    <?php
    session_start ();
    if (!isset ($_SESSION["user_id"]))
    {
      header ("Location: formular.php");
    }
    ?>






    danke für eure hilfe
    reikuma27

    Beitrag zuletzt geändert: 21.10.2014 18:38:36 von reikuma27
  5. Die PHP-Weiterleitung klappt nur, wenn man vorher nichts ausgegeben hat.
    Machmal kann das "ausgeben" auch nur eine Leerezeile sein.
    Das erschwert deutlich die Suche des Fehlers... :singer:

    Nur um den Fehler "weiter einzukreisen": Nimmt mal statt der PHP-Weiterleitung eine META-Weiterleitung

    echo '<meta HTTP-EQUIV="REFRESH" content="0; url=formular.php">';


    klappt es damit?
  6. Autor dieses Themas

    r*******7

    hi,
    danke:thumb: die meta weiterleitung hat funktioniert:lol:, nur beim logout wird nicht zum formular.php weitergeleitet :wall:.
    was mir noch aufgefallen ist, wenn ich auslogge und dann im browser zurück gehe, bin ich wieder in der zuletzt aufgerufenen seite. also so wie ich das verstehe oder vermute, wird der cookie nicht gelöscht.
    habe ich da recht, ich bin noch sehr sehr neu auf diesen gebiet.

    hier mal die scripts, wie ich es eingefügt habe.

    login.php

    <?php
    // Session starten
    session_start ();
     
    // Datenbankverbindung aufbauen
    $connectionid = mysql_connect ("mysql.lima-city.de", "USERxxxx", "passwort");
    if (!mysql_select_db ("datenbank", $connectionid))
    {
      die ("Keine Verbindung zur Datenbank");
    }
     
    $sql = "SELECT ".
        "Id, Nickname, Nachname, Vorname ".
      "FROM ".
        "benutzerdaten ".
      "WHERE ".
        "(Nickname like '".$_REQUEST["name"]."') AND ".
        "(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
    $result = mysql_query ($sql);
     
    if (mysql_num_rows ($result) > 0)
    {
      // Benutzerdaten in ein Array auslesen.
      $data = mysql_fetch_array ($result);
     
      // Sessionvariablen erstellen und registrieren
      $_SESSION["user_id"] = $data["Id"];
      $_SESSION["user_nickname"] = $data["Nickname"];
      $_SESSION["user_nachname"] = $data["Nachname"];
      $_SESSION["user_vorname"] = $data["Vorname"];
     
      echo '<meta HTTP-EQUIV="REFRESH" content="0; url=index.php">';
      //header ("Location: index.php");
    }
    else
    {
      echo '<meta HTTP-EQUIV="REFRESH" content="0; url=formular.php">';
      //header ("Location: formular.php?fehler=1");
    }
    ?>


    logout.php

    <?php
    // Wird ausgeführt um mit der Ausgabe des Headers zu warten.
    ob_start ();
     
    session_start ();
    session_unset ();
    session_destroy ();
     
    echo '<meta HTTP-EQUIV="REFRESH" content="0; url=formular.php">';
     //header ("Location: formular.php");
    ob_end_flush ();
    ?>



    checkuser.php

    <?php
    session_start ();
    if (!isset ($_SESSION["user_id"]))
    {
      echo '<meta HTTP-EQUIV="REFRESH" content="0; url=formular.php">';
      //header ("Location: formular.php");
    }
    ?>


    Beitrag zuletzt geändert: 22.10.2014 13:10:41 von reikuma27
  7. Abgesehen davon das ich dir raten würde auf Objekt Orientierte Programmierung umzusteigen, hast du glaube ich zwei Flüchtigkeits Fehler.
    <?php
    // Wird ausgeführt um mit der Ausgabe des Headers zu warten.
    ob_start ();
     
    session_start ();
    session_unset ();
    session_destroy ();
     
    echo '<meta HTTP-EQUIV="REFRESH" content="0; url=formular.php">';
     //header ("Location: formular.php");
    ob_end_flush ();
    ?>


    Beim Content selbst einmal fehlt ein " und beim Formular ebenso.

    Welche Software benutzt du zum Programmieren?
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!