Beiträge von SV-Wachsmann

    Hallo zusammen,

    in den letzten Tagen habe ich alles versucht. Alle Eure Vorschläge, für die ich herzlich danke (nachdem keiner zum Erfolg geführt hat, wieder die ursprüngliche Fassung verwendet), habe mir Lernvideos rein gezogen und dicke Fachbücher durchstudiert ohne dass ich den gewünschten Erfolg erzielt habe.

    Jetzt habe ich mit var_dump versucht Fehler auszulesen und dabei aus meiner Sicht folgendes interessantes entdeckt, was evtl. die Fehlerursache sein könnte und hier bitte ich um Eure Hilfe.


    Nochmals kurz das Problem:

    Ich möchte mit einem Login Script mich auf der MySQL DB anmelden, dort auch entsprechende Rechte auslesen (alles vorher von mir in der DB angelegt) so funktioniert die gewünschte Weiterleitung über header("Location: https://www.google.de"); mit dem localhost Server (XAMPP) einwandfrei aber mit dem Remote Server von Strato gibt es keine Weiterleitung, jedoch kann ich die hinter den Logindaten in der DB erfassten Daten wie id, nutzerid, kennwort, rechte, anrede, vorname, nachname, email über einen Echobefehl auslesen.


    Die var_dump Darstellung ist in einem Punkt untrschiedlich:


    localhost:

    object(mysqli_stmt)#2 (10) { ["affected_rows"]=> int(-1) ["insert_id"]=> int(0) ["num_rows"]=> int(1) ["param_count"]=> int(2) ["field_count"]=> int(8) ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["sqlstate"]=> string(5) "00000" ["id"]=> int(1) }

    Strato:

    object(mysqli_stmt)#2 (10) { ["affected_rows"]=> int(-1) ["insert_id"]=> int(0) ["num_rows"]=> int(0) ["param_count"]=> int(2) ["field_count"]=> int(8) ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0) { } ["sqlstate"]=> string(5) "00000" ["id"]=> int(1) }


    Der Wert ["num_rows"]=>int(0) bei Strato und

    der Wert ["num_rows"]=>int(1) beim localhost


    Könnte das die Fehlerursache sein.


    Bitte entschuldigt, wenn ich manche Eurer Hinweise nicht kapiere, aber ich bin absoluter Neuling und habe die Website mit dem Hilfsprogramm Dreamweaver CS6 erstellt, dass mir allerdings in dieser Frage auch nicht weiterhilft.


    Vorab vielen Dank für Eure Unterstützung!

    Gruß - Holger

    Hallo alle zusammen,

    ausdrücklich möchte ich mich bei Euch allen für die gegebenen Tipps und Hinweise bedanken. Ich habe alle ausprobiert und bin aber nicht wirklich weitergekommen. Nachdem ich Neuling auf dem Sektor php bin, will ich auch nicht schlau daherreden. Aber was mich halt so stutzig macht ist, dass in XAMPP localhost alles so funktioniert, wie ich es mir vorstelle, aber real auf dem Strato Server die header location Weiterleitung nicht geht. Kann es sein, dass es an der php version liegt, die ich in Strato eingestellt habe. Weil ich noch mit einem anderen Hilfsprogramm (NetObjectsFusion) eine Webseite erstellt habe, benutze ich bei Strato die php-version 5.6. Mit dem Erstellen der gerade im Entstehen befindlichen Website soll dann dies "alte" mit NOF erstellte Seite gelöscht werden und ich könnte auf php-version 7.2 umstellen.

    Für alle Eure Antworten hier bereits mein herzliches Danke.


    Und hier nochmals mein Script, dass wie gesagt bei XAMPP einwandfrei funktioniert:


    <?php

    session_start();

    require 'inc/db.php';

    ?>


    <!DOCTYPE html>

    <html><!-- InstanceBegin template="/Templates/Hauptvorlage.dwt" codeOutsideHTMLIsLocked="false" -->


    <head>


    <meta charset="utf-8" />

    <!-- InstanceBeginEditable name="doctitle" -->

    <title>Login</title>

    <!-- InstanceEndEditable -->

    <link href="Stylesheets/layout.css" rel="stylesheet" type="text/css" />

    <link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />

    <style type="text/css">

    a:hover {

    color: #FFFFFF;

    }

    a:active {

    color: #FFFFFF;

    }

    </style>

    <!-- InstanceBeginEditable name="head" -->

    <!-- InstanceEndEditable -->

    <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>

    </head>


    <body bgcolor="#FFFFFF">


    <div class="container">

    <div ><!-- end .header -->

    <table width="100%" align="center">

    <tr class="Hintergrundfarbe">

    <th width="25%" align="center" valign="middle" scope="col"><div align="center" class="Hintergrundfarbe"><img src="Bilder/TPO.jpg" width="200" height="126">

    </div></th>

    <th width="45%" scope="col" ><span class="Verdana220blaufm"> 1.ARGE TPO e.V.</span><br>

    <span class="Verdana120blaufm">technische Prüforganisation<br></span>

    <span class="Verdana80blaufm">amtlich anerkannte Sachverständigenorganisation <br>

    </span><span class="Verdana60blaufm">Anerkennung durch Landesamt für Umwelt<br>

    § 52 AwSV - BYLfU 68-4566-17722-2019 </span></th>

    <th width="25%" scope="col"><div align="center"><img src="Bilder/Sicherheit.jpg" width="220" height="92" /></div></th>

    </tr>

    </table>

    <ul id="MenuBar1" class="MenuBarHorizontal">

    <li><a href="Fachbetriebe.html">Fachbetriebe</a> </li>

    <li><a href="Taetigkeiten.html" class="MenuBarItemSubmenu">T&auml;tigkeiten</a>

    <ul>

    <li><a href="Heizoeltank.html">Heiz&ouml;ltank</a></li>

    </ul>

    </li>

    <li><a href="Sachverstaendige.html">Sachverst&auml;ndige</a></li>

    <li><a href="Seminare.html">Seminare</a></li>

    <li><a href="Recht.html">Recht</a></li>

    <li><a href="index.html">Home</a></li>

    </ul>

    </div>

    <div class="content"><!-- InstanceBeginEditable name="Hauptvorlage" -->

    <h1 class="header&Uuml;berschrift1">Login</h1>

    <p>&nbsp;</p>

    <p class="verdana18">Bitte loggen Sie sich mit Ihren Zugangsdaten ein, damit Sie auf die gesicherten Seiten der Sachverst&auml;ndigen Organisation 1. ARGE TPO e.V. zugreifen k&ouml;nnen.</p>

    <p class="verdana18">&nbsp;</p>


    <div id="einloggbereich">

    <?php


    if(isset($_POST['aktion']) and $_POST['aktion'] == 'ausloggen' )

    {

    echo "<p>Sie wurden ausgeloggt</p>";

    unset ($_SESSION['eingeloggt']['nutzerid']);

    unset ($_SESSION['eingeloggt']['rechte']);

    }



    if(isset($_POST['aktion']) and $_POST['aktion'] == 'einloggen' )

    {

    if(isset($_POST['nutzerid']) and trim($_POST['nutzerid']) != ''

    and

    isset($_POST['kennwort']) and trim($_POST['kennwort']) != ''

    )

    {

    // überprüfen, ob Zugangsdaten korrekt sind

    $nutzerid_formular = trim($_POST['nutzerid']);

    $kennwort_formular = trim($_POST['kennwort']);


    $zugang = $db->prepare("SELECT id, nutzerid, kennwort, rechte, anrede, vorname, nachname FROM svzugang WHERE nutzerid=? && kennwort=? ");


    $zugang->bind_param('ss', $nutzerid_formular, $kennwort_formular);

    $zugang->execute();

    $zugang->bind_result($id, $nutzerid, $kennwort, $rechte, $anrede, $vorname, $nachname);


    while ($zugang->fetch()) {

    echo "<li> $id, $nutzerid, $kennwort, $rechte, $anrede, $vorname, $nachname</li>";

    }



    if (isset($_SESSION['eingeloggt']['rechte'])

    and $_SESSION['eingeloggt'] == 'TPO') {

    header('Location: http://www.dv-vv.de/eingeloggtTPOSV.php');

    }


    if (isset($_SESSION['eingeloggt']['rechte'])

    and $_SESSION['eingeloggt'] == 'GAST') {

    header('Location: http://www.dv-vv.de/eingeloggtTPDSV.php');

    }



    // echo "<p>Treffer $nutzerid / $kennwort: ". $zugang->num_rows ."</p>";


    if ( $zugang->num_rows == 1 ) {

    $_SESSION['eingeloggt']['nutzerid'] = $nutzerid;

    $_SESSION['eingeloggt']['rechte'] = $rechte;

    }

    else

    {

    echo "<p>Bitte korrekte Zugangsdaten eingeben!</p>";

    unset($_SESSION['eingeloggt']['nutzerid']);

    unset($_SESSION['eingeloggt']['rechte']);

    }

    }

    else

    {

    echo "<p>Bitte Formular komplett ausfüllen</p>";

    }

    }


    if (!isset($_SESSION['einloggen']['rechte']) )

    {

    ?>

    <form name="form1" action="" method="post" >

    <p>

    <label for="nutzerid" class="Formularspacer">Benutzername:</label>

    <input name="nutzerid" type="text" class="Formulardesign" id="nutzerid" tabindex="1">

    </p>

    <p>

    <label for="kennwort" class="Formularspacer">Passwort:</label>

    <input name="kennwort" type="text" class="Formulardesign" id="kennwort" tabindex="2">

    </p>

    <p>

    <input type="hidden" name="aktion" value="einloggen">

    <input type="submit" value="Einloggen" tabindex="3">

    </p>

    </form>


    <?php

    }

    else

    {

    ?>


    <form action="" method="post">

    <input type="hidden" name="aktion" value="ausloggen">

    <input type="submit" value="Ausloggen">

    </form>

    <?php

    }

    ?>


    </div>


    <p class="verdana18">&nbsp;</p>

    <!-- InstanceEndEditable -->

    <p>&nbsp;</p>

    <!-- end .content --></div>

    <div class="footer">

    <p class="verdana20f"><strong>1. ARGE TPO e.V. - Am Seukenbach 1, 90556 Seukendorf</strong></p>

    <p><span class="verdana14">Telefon: 0911 9648238 - Telefax: 0911 - 9648239</span></p>

    <p><span class="verdana14">Email:</span> <a href="mailto:verwaltung@tpo-online.de"><span class="Links">verwaltung@tpo-online.de</span></a><span class="verdana14"> &#8226; Website: http://www.tpo-online.de</span></p>

    <p>

    &#8226;

    <a href="Internas.html"><span class="Links">Internas</span></a> &#8226;

    <a href="Kontakt.html" ><span class="Links">Kontakt</span></a> &#8226;

    <a href="Impressum.html"><span class="Links">Impressum</span></a> &#8226;

    <a href="Login101.php"><span class="Links">SV-Zugang</span></a> &#8226;<br />

    </p>

    </div>

    <!-- end .container --></div>

    <script type="text/javascript">

    var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"../SpryAssets/SpryMenuBarDownHover.gif", imgRight:"../SpryAssets/SpryMenuBarRightHover.gif"});

    </script>

    </body>

    <!-- InstanceEnd --></html>

    Hallo zusammen,

    selbst auf die Gefahr, dass ich Euch nerve, versuche ich es nochmals. Beiliegende Login Datei bringt mir auf der Remote Site bei Strato nach dem Einloggen mit korrekten Daten nur den Hinweis "Bitte korrekte Zugangsdaten eingeben!" (aus Zeile 117) und die korrekten Daten aus der MySQL DB: "32, HW, 123, TPO, , , HolgerWachsmann".Wenn ich die gleiche Login Datei mit Localhost (XAMPP) benutze funktioniert die Header Funktion und die Weiterleitung auf die gewünschte Seite erfolgt.Woran kann das liegen?Vielen Dank im Voraus für eine hilfreiche Antwort.LG - Holger


    Dateien

    • Login101.zip

      (2,47 kB, 4 Mal heruntergeladen, zuletzt: )

    Ich erhalte folgende Fehlermeldung:

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/web314/d0/58/57642758/htdocs/dv-vv/Login101.php:62) in /mnt/web314/d0/58/57642758/htdocs/dv-vv/Login101.php on line 94

    und anschließend springt er auf den Hinweis:

    Bitte korrekte Zugangsdaten eingeben!

    Und das ist der Script:

    if(isset($_POST['aktion']) and $_POST['aktion'] == 'einloggen' )

    {

    if(isset($_POST['nutzerid']) and trim($_POST['nutzerid']) != ''

    and

    isset($_POST['kennwort']) and trim($_POST['kennwort']) != ''

    )

    {

    // überprüfen, ob Zugangsdaten korrekt sind

    $nutzerid_formular = trim($_POST['nutzerid']);

    $kennwort_formular = trim($_POST['kennwort']);


    $zugang = $db->prepare("SELECT id, nutzerid, kennwort, rechte, nachname

    FROM svzugang WHERE nutzerid=? && kennwort=? ");


    $zugang->bind_param('ss', $nutzerid_formular, $kennwort_formular);

    $zugang->execute();

    $zugang->bind_result($id, $nutzerid, $kennwort, $rechte, $nachname);


    while ($zugang->fetch()) {


    if ($rechte == "TPO")

    header ('Location: https://www.google.de');


    if ($rechte == "GAST"){

    header('Location: eingeloggtTPDSV.php');

    }

    }

    // var_dump($zugang);


    // echo "<p>Treffer $nutzerid / $kennwort / $rechte / $nachname: ". $zugang->num_rows ."</p>";


    if ( $zugang->num_rows == 1 )

    {

    $_SESSION['einloggen']['nutzerid'] = $nutzerid;

    $_SESSION['einloggen']['rechte'] = $rechte;

    }

    else

    {

    echo "<p>Bitte korrekte Zugangsdaten eingeben!</p>";

    unset($_SESSION['einloggen']['nutzerid']);

    unset($_SESSION['einloggen']['rechte']);

    }

    }

    else

    {

    echo "<p>Bitte Formular komplett ausfüllen</p>";

    }

    }

    if (!isset($_SESSION['einloggen']['rechte']) )

    {

    ?>

    Hallo,

    leider funktioniert es auch mit dem gut gemeinten Vorschlag nicht besser.

    anbei der zugrunde liegende Quellcode:

    Hallo zusammen,

    nach meiner ersten Euphorie über das Funktionieren in Xampp (localhost) kehrt der Frust wieder ein. In Echtzeit, also auf dem Strato Server geht es leider nicht so, wie local. Die Verbindung zu der DB klappt, kein Problem, ich kann auf alle Daten zugreifen. Aber der Link zu weiteren Seiten funktioniert nicht, da springt er immer wieder auf "Bitte Formular komplett ausfüllen", obwohl die Zugangsdaten passen, war ich über "echo "<li> $id $nutzerid $kennwort und $rechte" geprüft habe. Ich glaube es liegt am Link. Ist es besser über header oder über href zu verlinken und welchen Pfad muss ich angeben, in localhost habe ich Location genutzt. Aber so weit mir bekannt, muss ich bei href vorher ?> verlassen oder?

    Danke im Voraus für die Antwort.

    Gruß Holger

    Hallo basti1012,

    danke für den Vorschlag. Im Prinzip ist es das, was ich möchte. Aber die Daten sollen alle aus der MySQL DB kommen. Das heißt, ich lege die Datenbank an mit Benutzernamen und Passwort und die Rechte, es sind nur 2 Unterscheidungen bei den Rechten. In der DB habe ich die Spalten id, nutzerid, kennwort und rechte.

    Dann loggt sich der Benutzer mit den von mir ihm zugesandten Benutzernamen und Passwort ein und entsprechend der hinterlegten Rechte wird er an auf die dazugehörige Seite weitergeleitet.

    Mein Problem ist, es funktioniert alles mit dem Einloggen usw. ich weiß aber nicht die beiden Rechte zu unterscheiden. Mir gelingt es immer nur die Weiterleitung auf eine Seite, egal welches Recht der Benutzer hat. Wie man dies unterscheidet ist mir nicht bekannt. Meine beiden Rechte heißen "TPOSV" und "GASTSV" und die Weiterleitung geht entweder zu "eingeloggtTPOSV.php" oder eingeloggtTPDSV.php". Aber wie kann ich das realisieren?

    Erstmals danke für die Antwort.

    Ja das stimmt schon, ich habe aber in der phpmyadmin Datenbank 2 unterschiedliche Rechte vergeben, die wiederum auf 2 unterschiedliche geschützte Seite weiterleiten sollen. Und darüberhinaus würde ich gerne die Leute, die sich mit ihren Zugangsdaten einloggen (die ich vergebe) mit ihrem Namen begrüßen, aus der Datenbank heraus.

    Fehler in dem Sinn wird nicht gemeldet, es sei denn ich bastele daran herum und setze noch einen "header mit einer anderen geschützten Seite usw.

    Hallo zusammen,

    nachdem ich auf Basis des php-kurs (login-bereich-db) ein php-Programm erarbeitet habe, das einwandfrei funktioniert, hänge ich an dem Punkt, die in der DB vergebenen Rechte mit weiterführenden z.B. Links zu Seiten oder auch Begrüßungstexten der eingeloggten Personen zu realisieren. Ich teste schon seit über 10 Tagen alles möglichen Varianten, komme aber leider auf keinen grünen Zweig.

    Kann und will mir jemand helfen? Ich wäre sehr dankbar für die Unterstützung.

    MfG - Holger

    Ich bin neu in diesem Forum und arbeite mit Dreamweaver CS6.

    Ich habe einen Script geschrieben, der local funktioniert, jedoch nur bedingt, wenn ich ihn mit Dremaweaver CS6 auf dem Remote Server lade. Die Inhalte sind deckungsgleich. Es geht um einen Einlogg Bereich mit Zugriff auf eine MYSQL Datenbank.

    Auf dem Strato Remote Server erschein z.B. der Hinweis "Bitte korrekte Zugangsdaten" eingeben immer, auch wenn die Zugungsdaten korrekt sind und der Button "ausloggen" ist auch immer zu sehen, schon vor dem Einloggen. Sicher ist, weil kopiert, dass beide Inhalte deckungsgleich sind.

    Wer kann mir bitte helfen?

    Vielen Dank im Voraus.

    Holger

    Dateien

    • Login1.pdf

      (10,47 kB, 2 Mal heruntergeladen, zuletzt: )

    Ich habe einen Script geschrieben, der local funktioniert, jedoch nur bedingt, wenn ich ihn mit Dremaweaver CS6 auf dem Remote Server lade. Die Inhalte sind deckungsgleich. Es geht um einen Einlogg Bereich mit Zugriff auf eine MYSQL Datenbank.

    Auf dem Strato Remote Server erschein z.B. der Hinweis "Bitte korrekte Zugangsdaten" eingeben immer, auch wenn die Zugungsdaten korrekt sind und der Button "ausloggen" ist auch immer zu sehen, schon vor dem Einloggen. Sicher ist, weil kopiert, dass beide Inhalte deckungsgleich sind.

    Wer kann mir bitte helfen?

    Vielen Dank im Voraus.

    Holger

    Hallo zusammen,

    als Neuling in diesem Forum bin ich jetzt erstmalig mit einer Frage bzw. Aufgabenstellung hier und bin als Laie auch mit der Lösung überfordert. Vielleicht kann mir jemand helfen. Ich bedanke mich bereits im Voraus für die Unterstützung.

    Ich habe eine MySQL Datenbank angelegt, die maximal 50 Datensätze beinhalten wird. Hier werden von mir Benutzernamen und Passwörter angelegt. Die Benutzer sollen sich über die Website mit Benutzername und Passwort anmelden, die Datenbank vergleicht die eingegebenen Daten mit den hinterlegten und stellt die Berechtigung des Benutzers fest bzw. liefert eine Fehlermeldung.

    Wie kann ich das realisieren?

    Danke - MfG - Holger