php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.07.2010, 17:34   #1 (permalink)
Benutzer
 
Registriert seit: 14.03.2010
Beiträge: 59
PHP-Kenntnisse:
Anfänger
wernersbacher befindet sich auf einem aufstrebenden Ast
Standard if Abfragen problem

Tach, ich hab ne längere if Abfrage, werde aber an einer bestimmten Stelle IMMER auf den index weiter geleitet werde!
Also, die Website tut folgendes:
per GET wird ein hash übergeben. Dann wird in der Datenbank danach gesucht, ob der existiert, wenn ja, wird die zugehörige URL ausgelesen und in einem Frame ausgegeben. Funzt auch. Wenn das jetzt PW gesichert ist, kommt ne Abfrage. Da kann ich das PW eingeben und abschicken! Aber ich werde immer auf den Index geleitet!

hab hier ne lange verschachtelte Abfrage:

PHP-Code:
$hash $_GET['hash'];
$abfrage sprintf("SELECT url, crypt, password FROM $table WHERE hash = '%s' LIMIT 1"mysql_real_escape_string($hash));
$ergebnis mysql_query($abfrage);
$var mysql_fetch_assoc($ergebnis);
$url $var['url'];
$crypt $var['crypt'];
$password $var['password'];
    if(
$_GET['pw'] == 1)
    {
        
$pw md5($_GET['pw']);
        if(
$pw == $password)
        {
            if(
$crypt == "1"
            {
                echo 
'
                <HTML>
                <HEAD>
                <TITLE>'
.$url.'</TITLE>
                </HEAD>
                <frameset border=\'0\' frameborder=\'0\'>
                <frame src=\''
.$url.'\' name=\'links\' marginwidth=\'0\' marginheight=\'0\' scrolling=\'auto\'>
                <noframes>
                <a href="'
.$url.'">Klick</a>
                </noframes>
                </frameset>
                </HTML>
                '
;
            }
            else 
            { 
            
header("Location: $url"); 
            } 
        }
        else
        {
            if(
$_COOKIE['width'] < 800 AND $_COOKIE['height'] < 500) { include('m_header.inc.php'); } else { include('header.inc.php'); }
            echo 
"<p>Das Passwort ist falsch!</p>";
            include(
'footer.inc.php');
        }
    }
    else
    {
        if(
$var == false)
        {
            
header("Location: index.php?err=404"); exit;
        }
        if(
$password != AND strlen($password) > 10)
        {
            if(
$_COOKIE['width'] < 800 AND $_COOKIE['height'] < 500) { include('m_header.inc.php'); } else { include('header.inc.php'); }
            echo 
'<p>
            Dieser Link ist passwortgeschützt.</p>
            <form action="url.php?pw=1" method="post" class="textblock">
            <input type="text" size="33" maxlength="200" name="password" class="inputfeld">
            <input type="submit" value="Absenden" class="inputfeld">
            </form>'
;
            include(
'footer.inc.php');
        }
        else
        {
            if(
$crypt == "1"
            {
                echo 
'
                <HTML>
                <HEAD>
                <TITLE>'
.$url.'</TITLE>
                </HEAD>
                <frameset border=\'0\' frameborder=\'0\'>
                <frame src=\''
.$url.'\' name=\'links\' marginwidth=\'0\' marginheight=\'0\' scrolling=\'auto\'>
                <noframes>
                <a href="'
.$url.'">Klick</a>
                </noframes>
                </frameset>
                </HTML>
                '
;
            }
            else 
            { 
                
header("Location: $url"); 
            }
        }
    } 
Ich weiß nicht, wieso ich IMMER auf die Startseite geleitet werde!

Als Datenbankbeispiel ein Eintrag:
id | hash | url | crypt | password
25 | 82e509d9 | Fernsehprogramm von TVinfo - sehen was läuft - Fernsehprogramm Heute ab 17:30 Uhr | 1 | 68124427ce41a87dfcbea86ef95a8c09
__________________
"Echte Intellektuelle wie wir sollten ihre Lippen nicht mit Flüchen beschmutzen."
- Patrick Star
wernersbacher ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.07.2010, 17:42   #2 (permalink)
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 2.837
Asipak befindet sich auf einem aufstrebenden Ast
Standard

Oha, sorry, aber was ist denn das für ein Gruselcode?
Zitat:
Ich weiß nicht, wieso ich IMMER auf die Startseite geleitet werde!
Mach dir am Besten noch mal über die Logik deines Codes Gedanken. So richtig klar wird einem das glaube ich nicht.
Da sind zu viele Hashwerte und und ungehashte Passwörter unterwegs und der Vergleich des Hashes mit der Datenbank und der anschließende Vergleich das ungehashten Passworts sieht mir auch eher nach doppelt gemoppelt hält besser, ist aber unnötig aus.

Keine Ahnung, was man jetzt sonst so antworten könnte.
__________________
Das PHP.DE Coding-Quiz | HalloPHP
Asipak ist offline   Mit Zitat antworten
Alt 21.07.2010, 17:42   #3 (permalink)
Moderator
 
Registriert seit: 28.03.2010
Beiträge: 1.966
PHP-Kenntnisse:
Fortgeschritten
ChrisB sorgt für eine eindrucksvolle AtmosphäreChrisB sorgt für eine eindrucksvolle AtmosphäreChrisB sorgt für eine eindrucksvolle Atmosphäre
Standard

Der Code ist mir viel zu unübersichtlich, um mich da jetzt näher mit zu beschäftigen.

Was er allerdings erkennen lässt, ist eine extrem unsaubere Art zu Programmieren.
Stelle bitte das error_reporting auf E_ALL und display_errors auf on - und beseitige dann zunächst alle Meldungen, die aus deinem Code in den unterschiedlichen Verzweigungsfällen resultieren.


Und wenn du dann noch Fragen hast - dann liefere bitte halbwegs sauber strukturierten und vor allem auch sinnvoll kommentierten Code mit.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] !!!Problem bei MySQL-Abfrage!!! djscaleo Datenbanken 12 03.01.2009 21:35
[Erledigt] Abfragen problem, Werte aus MySQL einlesen matze-pe PHP Tipps 2008 16 17.12.2008 19:51
[Erledigt] Problem: PHP Selbe Datei mehr als 1 Mal soulan PHP Tipps 2008 13 28.11.2008 22:51
Problem Upload mehrere Dateien und schreiben in DB Lapje PHP Tipps 2008 1 22.10.2008 13:12
utf8 Problem (Daten aus DB auslesen) go1denboy PHP Tipps 2008 1 23.09.2008 12:19
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
Problem beim Abfragen aller Tabellen in einer Datenbank gulli23 Datenbanken 5 26.02.2006 20:04
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
login problem mit if abfragen schmiddy PHP Tipps 2007 2 13.12.2005 15:05
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
Problem beim abfragen mehrere checkboxen mit gleichem namen PHP Tipps 2004 7 21.07.2004 18:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php if abfrage für link

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum