kostenloser Webspace werbefrei: lima-city


Brauche Hilfe bei PHP-Script

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    simplevideo

    Kostenloser Webspace von simplevideo

    simplevideo hat kostenlosen Webspace.

    Hallo,

    Ich habe mir ein kleines Script geschrieben, das die Daten in der Textbox, mit den in der SQL-Datenbank verglichen werden. Stimmt der Text in der Textbox mit dem der Datenbank überein, wird auf die Seite success.html weitergeleitet. Stimmen die Daten nicht überein, wird man auf die Seite failed.html weitergeleitet. Leider funktioniert die Weiterleitung irgentwie nicht.
    Hier mal der Code:

    <?php
    	//FOLGENDER CODE MACHT DIE EINGABEBOX UND DEN BUTTON (HTML)
    ?>
    
    <form method="post">
    	<input type="text" name="text" />
    	<input type="submit" value="Abgleichen" />
    </form>
    
    <?php
    	//JETZT DER CODE, DER ABGLEICHT
    ?>
    
    <?php
    	//VERBINDUNG ZUR DATENBANK HERSTELLEN:
    
        $verbindung = mysql_connect("mysql.lima-city.de", "Benutzername" ,"Passwort") or die(mysql_error());
        $abfrage_personen = mysql_select_db("db_267815_4") or die(mysql_error());
    
    	//ABGLEICH
    
    	$_POST['text'] = $text;
    
    
            $abfrage = mysql_query("SELECT * FROM codes WHERE codes = '$text'");
            $anzahl = mysql_num_rows($abfrage);
            if($anzahl == 0 OR $anzahl >= 2){ //WENN: NICHT IN DER DATENBANK
                header("Location:failed.html"); //Weiterleitung
    			exit();
            }elseIf($anzahl == 1){ //WENN: IN DER DATENBANK
    			header("Location:success.html"); //Weiterleitung
    			exit();
            }
    
    
    ?>


    Hier das Script, das nicht funktioniert: http://www.simplevideo.de/paybest
    Dieser Wert ist in der SQL-Datenbank gespeichert: 123

    Ich hoffe auf Hile!


    MfG
    SimpleVideo

    Beitrag zuletzt geändert: 2.10.2012 19:07:09 von simplevideo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. g****e

    Access denied for user '[ZENSIERT]'@'webspace6.lima-city.de' (using password: YES)

    Du hast nichtmal den Login in die Datenbank richtig geschafft. Prüfe bitte dein Usernamen und Passwort für die Datenbank. Das sollte schonmal ein Anfang sein.
    Außerdem solltest du
    $text
    validieren, denn so wäre es für SQL-Injections offen. Ganz einfach wäre es, wenn du dieses wohl liest: http://php.net/manual/de/function.mysql-real-escape-string.php

    Edit: localhost geht auf Lima-City nicht, mysql.lima-city.de ist schon richtig.

    Liebe Grüße
  4. Autor dieses Themas

    simplevideo

    Kostenloser Webspace von simplevideo

    simplevideo hat kostenlosen Webspace.

    Hallo,
    Sorry. Das hat vorher funktioniert. Hatte hier in meinem Tread vergessen das Passowrt aus dem Code zu holen. Habe es daraufhin aus dem Code geholt und geändert.
    Leider ist mein Problem dadurch nicht gelöst. Vielleicht kannst du mir trotzdem helfen?

    MfG
    SimpleVideo
  5. g****e

    Hast du schon ein
    echo $anzahl;
    ausprobiert und dir angeschaut? Was kommt da raus?
    Probier mal statt
    header("Location:failed.html");
    ein
    header("Location: http://www.simplevideo.de/failed.html");
    Ich weiß nicht, ob der Header mit nur einer Datei überhaupt akzeptiert wird, denn es ist keine gültige URL.

    Liebe Grüße
  6. Autor dieses Themas

    simplevideo

    Kostenloser Webspace von simplevideo

    simplevideo hat kostenlosen Webspace.

    Hallo,
    Ne, das hat leider auch nicht funktioniert. Hast du vielleicht noch andere Idden.
    Es kommt immer der selbe Fehler.

    MfG
    SimpleVideo
  7. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Wie soll der ganze Spaß funktionieren, wenn du der Variablen
    $text
    einen Wert in dieser Zeile zuweist?
    $_POST['text'] = $text;
    Das solltest du umdrehen und es sollte so aussehen:
    $text = $_POST['text'];


    Damit keine SQL-Injections ausgeführt werden können sollte das so aussehen:
    $text = mysql_real_escape_string($_POST['text']);

    Deine umständlichen ifs kannst du so zusammenfassen:
    if($anzahl != 1)//WENN: NICHT IN DER DATENBANK
    	header('Location: failed.html'); //Weiterleitung
    else
    	header('Location: success.html');
    exit();
    Dabei sollte dir aber auch klar sein, dass das Script nicht so funktionieren wird, da der "Abgleichcode" immer ausgeführt wird, auch wenn nur das Formular ausgegeben werden sollte…

    Beitrag zuletzt geändert: 2.10.2012 20:33:25 von hackyourlife
  8. Autor dieses Themas

    simplevideo

    Kostenloser Webspace von simplevideo

    simplevideo hat kostenlosen Webspace.

    @HackYourLife: DANKE! Jetzt funktioniert es.

    MfG
  9. 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!