Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: Datenbankfehler?

  1. #1
    Teeny
    Registriert seit
    12.06.2009
    Beiträge
    25
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Datenbankfehler?

    Gutan Tag.
    Also mein Problem ist folgendes:
    Ich habe einmal in mysql alle user. Und diese haben einen charakter wo ich alle Werte rein speicher. Ich will jetzt das die Daten vom char dem jeweiligen User angezeigt werden. D.h. ich hab bei user ein Feld UserID und bei chara hab ich CharaUser. Jetzt soll die UserId mit CharaUser übereinstimmen. Bei UserID stehen auch die Zahlen 1, 2, 3, ... aber bei CharaUser kommt immer 0.
    Hoffe es ist verständlich was ich meine. Ich zeige mal wie ich es aufgebaut hab. Also das Problem entsteht bei Login:

    PHP-Code:
    <?php 
    session_start
    ();
    ?>
    <html>
    <head>
    </head>
    <body background="http://img8.imageshack.us/img8/3394/farbverlauf.jpg">
    <?php
    error_reporting
    (E_ALL);
    ini_set("display_errors"true);

    include(
    'datenverbindung.php');

    $username $_POST["username"];
    $passwort md5($_POST["password"]);

    $abfrage "SELECT * FROM user WHERE Username = '" $username "' and passwort = '" .$passwort"'";
    $ergebnis mysql_query($abfrage);


    if (
    $row mysql_fetch_object($ergebnis))
        {
        
    $_SESSION["username"] = $username;
        echo 
    "Login erfolgreich. <br> <a href=\"http://localhost/security/inuyashagame.php\" target=\"_parent\">weiter</a>";
        echo 
    '<script language="javascript">window.location="inuyashagame.php";</script>';
        }
    else
        {
        echo 
    "Benutzername und/oder Passwort waren falsch. <a href=\"login.html\">Login</a>";
        }
    if(!empty(
    $_SESSION['username']))
    {
      
    $sql "  UPDATE `user`
                  SET `last_hit`  = NOW()
                  WHERE `Username` = '"
    .$_SESSION['username'] . "'";
                 
      
    mysql_query($sql) or die(mysql_error());
    }
    $sql "  SELECT `Username` FROM `user`
                WHERE `last_hit` > DATE_SUB(NOW(), INTERVAL 10 MINUTE)"
    ;
    $res mysql_query($sql); // $res in gewohnter Weise auswerten

    $chara "SELECT * FROM user WHERE Username = '".$_SESSION['username']."'";
        
    $chara2 mysql_query($chara) OR die(mysql_error());
        
    $chara3 mysql_fetch_assoc($chara2);

    if(!
    mysql_fetch_array(mysql_query("SELECT CharaID FROM chara WHERE CharaName = '".$username."'"))) {
                    
    mysql_query("INSERT INTO chara (CharaName, CharaUser) VALUES('".$username."', '".$chara3['UserID']."')") or die(mysql_error());
                    
    ?> 
    </form>
    </body>
    </html>

    Ach ja als Fehler bekomme ich dann das:
    Parse error: parse error in C:\xampp\security\htdocs\login.php on line 54

    und Zeile 54 ist </html> das kanns nicht sein xD
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von Inuyasha2008 (05.06.2010 um 13:47 Uhr)

  2. #2
    Azubi(ne)
    Registriert seit
    31.03.2009
    Beiträge
    52
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datenbankfehler?

    Hast glaub ich beim letzten IF die geschweifet klammer zu vergessen also die hier }

    btw. Wenn man irgendwo eine geschlossen klammer vergisst, dann zeigt er den Fehler immer in der letzten Zeile an.

  3. #3
    Teeny
    Themenstarter

    Registriert seit
    12.06.2009
    Beiträge
    25
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datenbankfehler?

    ach so wusste ich noch nicht. Vielen Dank für die schnelle Hilfe

  4. #4
    Pion
    Gast

    Standard AW: Datenbankfehler?

    Zitat Zitat von Gimminy Beitrag anzeigen
    Hast glaub ich beim letzten IF die geschweifet klammer zu vergessen also die hier }

    btw. Wenn man irgendwo eine geschlossen klammer vergisst, dann zeigt er den Fehler immer in der letzten Zeile an.

    Dito, ansonsten MYSQLINJECTION durchlesen und auch mal Datebankdesigns von anderen Projekten anschauen

  5. #5
    Teeny
    Themenstarter

    Registriert seit
    12.06.2009
    Beiträge
    25
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datenbankfehler?

    also hab noch was rumversucht aber ich hab immer noch das Problem, dass bei mir UserID und CharaUser nicht gleich sind.
    Wenn ein User mit der ID 5 ertsellt wurd soll bei CharaUser auc 5 stehen...
    Also habs in die Registrierung getan:

    PHP-Code:
    <html>
    <head>
    </head>
    <body background="http://img8.imageshack.us/img8/3394/farbverlauf.jpg">
    <?php
    error_reporting
    (E_ALL);
    ini_set("display_errors"true);

    include(
    'datenverbindung.php');

    $username $_POST["username"];
    $passwort $_POST["passwort"];
    $passwort2 $_POST["passwort2"];
    $email $_POST["email"];
    $rasse $_POST["rasse"];
    $str 5;
    $vert 5;
    $speed 5;
    $splitter 0;
    $geld 1000;
    $lp 50;
    $gk 50;

    if(
    $passwort != $passwort2 OR $username == "" OR $passwort == "" OR $email == "")
        {
        echo 
    "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"registrierung.html\">Zurück</a>";
        exit;
        }
    $passwort md5($passwort);

    $result mysql_query("SELECT UserID FROM user WHERE Username LIKE '$username'");
    $menge mysql_num_rows($result);



    if(
    $menge == 0)
        {
        
    $eintrag =  "INSERT INTO user  (username, passwort, email, rasse) VALUES ('$username', '$passwort', '$email', '$rasse')";
        
    $eintrag2 "INSERT INTO chara (CharaName, CharaStr, CharaVert, CharaSpeed, CharaSplitter, CharaGeld, CharaLP, CharaGK)                 VALUES ('$username', '$str', '$vert', '$speed', '$splitter', '$geld', '$lp', '$gk')";
        
    $eintragen mysql_query($eintrag);
        
    $eintragen2 mysql_query($eintrag2);

        if(
    $eintragen == true)
            {
            echo 
    "Benutzername <b>$username</b> wurde erstellt. <a href=\"login.html\">Login</a>";
            }
        else
            {
            echo 
    "Fehler beim Speichern des Benutzernames. <a href=\"registrierung.html\">Zurück</a>";
            }


        }

    else
        {
        echo 
    "Benutzername schon vorhanden. <a href=\"registrierung.html\">Zurück</a>";
        }
        
    $chara "SELECT * FROM user WHERE Username LIKE '$username'";
        
    $chara2 mysql_query($chara) OR die(mysql_error());
        
    $chara3 mysql_fetch_assoc($chara2);

    if(!
    mysql_fetch_array(mysql_query("SELECT CharaID FROM chara WHERE CharaName = '".$username."'"))) {
                    
    mysql_query("INSERT INTO chara (CharaName, CharaUser) VALUES('".$username."', '".$chara3['UserID']."')") or die(mysql_error());
                    }
    ?> 
    </body>
    </html>

  6. #6
    Pion
    Gast

    Standard AW: Datenbankfehler?

    Also debugge halt mal, dann siehst du woran es liegt

    Mit "die()" kannst du gut debuggen einfach mal die($var) an den stellen schreiben dann siehst welche Variable welchen Wert hat

  7. #7
    Teeny
    Themenstarter

    Registriert seit
    12.06.2009
    Beiträge
    25
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datenbankfehler?

    habs versucht aber finde irgendwie keinen Fehler...
    theoretisch müsste doch UserID und CharaUser die gleiche ID haben...

  8. #8
    Pion
    Gast

    Standard AW: Datenbankfehler?

    Ja und was hat den $chara3['UserID'] für einen Wert ?

  9. #9
    Kaiser(in)
    Registriert seit
    29.03.2009
    Ort
    1011 1111 1011 WorldWideWeb
    Beiträge
    2.439
    Danke
    2
    Bekam 6 mal "Danke" in 6 Postings

    Standard AW: Datenbankfehler?

    Mal zur info: Wenn man eine Tabelle erstellt on mit PMY oder SQL, kommt folgende Fehlermeldung wenn man 2 Spalten mit auto-increment will:
    "There can be only 1 auto column and it has to be primary key"
    Was schluiessen wir daraus? -> Es ist sinnfrei, 2 Geliche spalten zu haben, die sowieso immer den gelichen wert haben.
    Was heist das für deine Tabelle? -> "DROP chara.CharaUser ".
    Du solltest jedem character ne id verpassen und die dann zum benutzer eintragen. Wenn das was ich da gesagt habe murks ist, dann tuts mir leid, aber dann hab ich dein Problem nicht verstaden
    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.
    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  10. #10
    Teeny
    Themenstarter

    Registriert seit
    12.06.2009
    Beiträge
    25
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Datenbankfehler?

    @Pion wie meinst du das jetzt was für einen Wert die hat? Wie genau soll ich das machen

    @Tobse: Nun ja der Sinn davon ist das ich später Loginname und char nicht gleichzeitig machen will. Man registriert sich logt sich ein und kann dann erst seinen char erstellen und dieser erstellte char soll mit dem login übereinstimmen. Also wird CharID verschieden von UserId sein aber CharUser sollte den gleichen Wert die UserId haben. Wüsste nicht wie man es sonst machen sollte.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •