Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Realisierung Adminbereich“

P

PSJunkee

Guest

Guten Abend. Ich und mein PHP...:( Anfänger mit Problem...
Und zwar habe ich ein Newsscript erfolgreich;) geschrieben, dessen Eintrageformular ich nun mit einem Passwort versehen möchte, sodass nicht jede beliebige Person Einträge in die Newsdatenbank machen kann.

Ich habe bisher folgenden Code geschrieben, aber wenn ich ein Passwort in das Formularfeld eingebe und den Okay Button drücke, bleibt der Bildschirm leer, unabhängig davon, ob das eingegebene Passwort meinem in der Datenbank gespeicherten entspricht oder nicht.

PHP:
<?php
    if(isset($HTTP_GET_VARS['seite'])) $seite = $HTTP_GET_VARS['seite'];

    elseif($seite == "neu")
    include"neuereintrag.php";
    elseif($seite == "neu_fortschritt")
    include"fortschritt.php";
    include"constant.php";
    
    
    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die("Verbindung zum Datenbankserver fehlgeschlagen: ".'<br><font color="red">'.mysql_error().'</font><br><br>');
    @mysql_select_db(MYSQL_DATABASE) OR die("Verbindung zur Datenbank fehlgeschlagen: ".mysql_error());

    if(!isset($_POST['ok']))
    {
    echo "<form action='eintrag.php' method='POST'>";
    echo "<input type='password' name='pw2'>";
    echo "<input type='submit' value='ok' name='ok'>";
    echo "</form>";
    }

if(isset($_POST['ok']))
{
    $pw2 = $_POST['pw2'];

    $sql = "SELECT
    pw1
    FROM
    passwortschutz";
    $result = (@mysql_query($sql)) or die(mysql_error());
    $row = (mysql_num_rows($result));
    $pw1 = $row['pw1'];
    if("$pw1" == "$pw2")
     {
     echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
     echo "         \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
     echo "<html>\n";
     echo "    <head>\n";
     echo "        <title>Meine Seite</title>\n";
     echo "        <link rel='stylesheet' type='text/css' href='page.css' />\n";
     echo "        <meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1' />\n";
     echo "    </head>\n";
     echo "    <body>\n";

     echo "            </div>\n";
     echo "            <div id='links'>\n"; // linkes Menu
     include "menu.php";
     echo "            </div>\n";
     echo "<div id='mitte' name='seite'>";
    }
else
    "Das eingegebene Passwort war falsch, der Zugriff zum Admin-Bereich wird Ihnen leider verweigert.";
}
?>
Bitte um Hilfe. Viel Spaß beim Finale dann heute abend! OleeeeeOleOleee :muede::D:D:muede:
 

splasch

Nicht mehr ganz neu hier

AW: Realisierung Adminbereich

Logisch du hast in der If Abfrage auch nur String reingeschrieben und keine Variablen.

if("$pw1" == "$pw2")

if($pw1 == $pw2)


Mfg Splasch
 

Duddle

Posting-Frequenz: 14µHz

AW: Realisierung Adminbereich

Logisch du hast in der If Abfrage auch nur String reingeschrieben und keine Variablen.
Strings mit doppelten Anführungszeichen werden auch geparset, die Variablen ersetzt. Selbst wenn nicht, muss der else-Zweig ausgeführt werden, was offensichtlich auch nicht passiert.

Letzteres ist klar, da fehlt ein echo vor "Das eingegebene ...". Da scheinbar dein Passwort nie akzeptiert wird und du immer im - noch unsichtbaren - else-Zweig landest, solltest du dir vor der if-Abfrage mal mit einem die($pw1." - ".$pw2); ausgeben lassen... und als ich das schreibe, sehe ich auch den Fehler: du holst dir dein Abfrageergebnis mit mysql_num_rows(). Dieses gibt aber nur die Anzahl an ausgewählten Zeilen an, wird also (fast) nie ein Passwort beinhalten. Änder das also in mysql_fetch_assoc($result); und es sollte funktionieren.


Duddle
 

Christian

verpeilt & verschallert

AW: Realisierung Adminbereich

Kannst Du mir verraten, was das hier logisch bedeuten soll?
PHP:
    if(isset($HTTP_GET_VARS['seite'])) $seite = $HTTP_GET_VARS['seite'];

    elseif($seite == "neu")
    include"neuereintrag.php";
    elseif($seite == "neu_fortschritt")
    include"fortschritt.php";
Das was in den elseif's steht wird niemals eintreten, und jetzt rate mal warum :)
 
P

PSJunkee

Guest

AW: Realisierung Adminbereich

Hmmmmm weil die erste if vorraussetzung erfüllt ist?

Bzw. Hilf mir auf die Sprünge. Entschuldige mich, bin halt noch Anfänger.:hmpf::p
Code sieht jetzt so aus:


PHP:
//eintrag.php
if($HTTP_GET_VARS['seite'] == "neu")
    include"neuereintrag.php";
elseif($HTTP_GET_VARS['seite'] == "neu_fortschritt")
    include"fortschritt.php";
Innerhalb der Datei eintrag.php befindet sich ein include"menu.php".

Code:
//menu.php
<html>
<head>
</head>
<body>

<div id="menu" name="menu">
<ul>
<li><a href="eintrag.php?seite=neu">Neuen Eintrag hinzufügen</a></li>
<li><a href="eintrag.php?seite=neu_fortschritt">Neuen Fortschritts-Eintrag hinzufügen</a></li>
</ul>
</div>

</body>
</html>

Komisch, ohne die Passwortüberprüfung hat das mit dem einbinden anderer Inhalte in den Content <div> immer geklappt, erst seit die Bedingung mit dem richtigen Passwort da ist, will es bei jedem klick auf einen Link das pw wissen und zeigt dann den Content doch nicht an... :uhm::uhm:
 
Zuletzt bearbeitet von einem Moderator:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.157
Beiträge
2.581.867
Mitglieder
67.223
Neuestes Mitglied
Desiree
Oben