kostenloser Webspace werbefrei: lima-city


Beeinflussung einer while Schleife auf eine if Schleife?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    captainsmile

    captainsmile hat kostenlosen Webspace.

    Guten Tag liebe Community,
    ich stehe derzeit ein wenig auf dem Schlauch und suche bereits seit mehreren Stunden nach dem Fehler.
    Also entweder ich bin in irgendeiner Form Blind oder ich habe einen Fehler gemacht, über den ich nichts weiß.

    Also folgendes Problem:
    Ich bin derzeit dabei eine Homepage für einen Kollegen anzufertigen mit eigenem News System etc., nun wollte ich ein normales Login System für den Admin Bereich hinzufügen (eigentlich kein Problem), doch aufeinmal funktionierten die if Schleifen nichtmehr.. Ich habe alles durchsucht und anschließend per Ausschluss Verfahren wenigstens die Problem-Datei herausgefunden.
    Ich hoffe ihr könnt mir helfen.

    $request_index = mysql_query("SELECT link FROM links WHERE id = '1'");
        while ($row = mysql_fetch_object($request_index)) {
             $link_index = $row->link;
        }

    ... das kommt in gleicher Form nur anderen ID's mehrmals hintereinander.

    $request_member1 = mysql_query("SELECT name, logo, teaser, text FROM member WHERE id = '1'");
        while ($row = mysql_fetch_object($request_member1)) {
            $member1_name = $row->name;
            $member1_logo = $row->logo;
            $member1_teaser = $row->teaser;
            $member1_text = $row->text;
        }

    ... dieser Teil kommt ebenfalls mehrmals hintereinander.

    Das sind die beiden Scripts in der "Problem-Datei".
    Dieser Script funktioniert nichtmehr:
    if (isset($_POST['submit_login'])) {
            $username = $_POST['username'];
            $password = md5($_POST['password']);
    
            $request = "SELECT username, password FROM login WHERE username LIKE '$username' LIMIT 1";
            $result = mysql_query($request);
            $row = mysql_fetch_object($result);
    
            if ($row->password == $password) {
                /* Endgültige Bestätigung */
                $_SESSION['admin'] = true;
            }
        }


    Durch das klicken des Submit Buttons wird nichts ausgelöst und weiß einfach nicht warum.
    Ob die Namen übereinstimmen habe ich selbstverständlich mehrmals geprüft...
    Mit freundlichen Grüßen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Warum du die beiden ersten Teile mehrmals hast, ist mir ein Rätsel. Zumindest beim ersten Teil. Das scheint ja für eine Navigation zu sein. Das kann man besser lösen mit nur einer DB-Anfrage.

    Jetzt ist natürlich die Frage, wie du deinen HTML Teil noch aufgebaut hast im Formular für den Login. Vielleicht hakt es ja da schon?

    Hast du schon mal geschaut, ob deine Datenbankabfrage auch ein Ergebnis zurück liefert?

    Und du validierst die Usereingaben nicht. Gerade beim Usernamen lässt sich unerwünschtes mit deiner Datenbank anstellen. Und auch hier kann man das ganze noch optimieren. Fragst du den Usernamen und das Passwort gleichzeitig ab, dann benötigst du weniger Code.
  4. Autor dieses Themas

    captainsmile

    captainsmile hat kostenlosen Webspace.

    Also ich hab mich von letzter Nacht erholt, deinen Beitrag gelesen und mich fast erschlagen, was ich da für einen Mist hingeschrieben hab.
    Nun funktioniert der Login aber ich kann nichtmehr auf die anderen Funktionen zugreifen.
    Ich denke ich bin einfach blind, hier der Code:
    if (isset($_POST['submit_links'])) {
            $link_index = $_POST['link_index'];
            $link_news = $_POST['link_news'];
            $link_member = $_POST['link_member'];
            $link_contact = $_POST['link_contact'];
            $link_impressum = $_POST['link_impressum'];
            $link_develop = $_POST['link_develop'];
            $link_partner = $_POST['link_partner'];
            $link_admin = $_POST['link_admin'];
            $link_session = $_POST['link_session'];
    
            $change_links = mysql_query("UPDATE links SET link = ('$link_index', '$link_news', '$link_member', '$link_contact', '$link_impressum', '$link_develop', '$link_partner', '$link_admin', '$link_session') WHERE id = ('1', '2', '3', '4', '5', '6', '7', '8', '9')");
        }


    darauf wird eigentlich zugegriffen mit:
    <form action="index.php" method="post" accept-charset="utf-8">
                        <table align="center">
                            <tr>
                                <td>Startseite:</td>
                                <td><input type="text" size="40" value="<?php echo $link_index; ?>" name="link_index" /></td>
                            </tr>
                            <tr>
                                <td>News:</td>
                                <td><input type="text" size="40" value="<?php echo $link_news; ?>" name="link_news" /></td>
                            </tr>
                            <tr>
                                <td>Mitglieder:</td>
                                <td><input type="text" size="40" value="<?php echo $link_member; ?>" name="link_member" /></td>
                            </tr>
                            <tr>
                                <td>Kontakt:</td>
                                <td><input type="text" size="40" value="<?php echo $link_contact; ?>" name="link_contact" /></td>
                            </tr>
                            <tr>
                                <td>Impressum:</td>
                                <td><input type="text" size="40" value="<?php echo $link_impressum; ?>" name="link_impressum" /></td>
                            </tr>
                            <tr>
                                <td>Entwicklung:</td>
                                <td><input type="text" size="40" value="<?php echo $link_develop; ?>" name="link_develop" /></td>
                            </tr>
                            <tr>
                                <td>Partner:</td>
                                <td><input type="text" size="40" value="<?php echo $link_partner; ?>" name="link_partner" /></td>
                            </tr>
                            <tr>
                                <td><font color="#FF0000">Administration:</font></td>
                                <td><input type="text" size="40" value="<?php echo $link_admin; ?>" name="link_admin" style="background-color: #FF0000;" disabled="disabled" /></td>
                            </tr>
                            <tr>
                                <td><font color="#FF0000">Session:</font></td>
                                <td><input type="text" size="40" value="<?php echo $link_session; ?>" name="link_session" style="background-color: #FF0000;" disabled="disabled" /></td>
                            </tr>
                            <tr>
                                <td></td>
                                <td><input type="submit" value="Senden" id="submit_links" name="submit_links" /></td>
                            </tr>
                        </table>
                    </form>


    Warum wird die Bedingung nicht ausgefüllt? Habe schon versucht einen "echo" Befehl ausführen zu lassen um zu gucken ob vielleicht der Inhalt das Problem ist, aber die Bedingung wird nichtmal erfüllt.
  5. Hi,

    also ich hab mir Deinen Code mal so übernommen und er macht das was er soll. Bist Du Dir sicher das Deine Abfrage da liegt wo sie liegen soll? Was genau ist denn der Fehler den Du bekommst?

    Liegen Formular und Abfrage in einer Datei oder auf 2 verteilt? Im Bsp. habe ich alles in einer Datei.
    http://www.pennereck.de/Unbenannt-1.php#

    Du solltest dringend noch was in Richtung Sicherheit machen, so kannst Du das Formular auf keinen Fall benutzen. Das aber nur als kleiner Tip am Rande ;)
  6. 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!