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

Thema: Ich nochmal, mysql-probleme mit INSERT

  1. #1
    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 Ich nochmal, mysql-probleme mit INSERT

    So, ich bins leider ncohmal, undzwar mit dem Problem:
    Ich ahbe hier register.php:
    PHP-Code:
    <?php
    include("functions.php");
    $user=$_POST["user"];
    $pw=$_POST["pass"];
    $pw2=$_POST["pas2"];
    $mail=$_POST["mail"];
    if (
    $_POST["about"]=="A simple text about you..." || $_POST["about"]=="") {
        
    $about="Not entered.";
    }
    else {
        
    $about=$_POST["about"];
    }
    $go=true;
    if (
    strlen($user)>&& strlen($user)<26) {
        if (
    strlen($pw)>11 && strlen($pw)<51 && $pw==$pw2) {
            if (
    checkmail($mail)) {
                    if(
    strlen($about)<501) {
                        
    $db=new mysqli('localhost''ccforum_2''s0nnenbrill3''ccforum_2');
                        echo 
    $db->error."<br>";
                        
    $sql="SELECT username FROM users";
                        
    $resultat=$db->query($sql);
                        echo 
    $db->error."<br>";
                        
    $ergeb=$resultat->fetch_array();
                        echo 
    $db->error."<br>";
                        foreach(
    $ergeb as $name) {
                            if (
    $name==$user) {
                                
    $content="<font color='#EE0505'>registration faild</font><br><a>->Username already in use</a><br><br><center><a href='index.php?page=register'>back</a></center>";
                                
    $go=false;
                            }
                        }
                        if (
    $go) {
                            if (isset(
    $_FILES["ava"])) {
                                
    move_uploaded_file($_FILES["ava"]["tmp_name"], "avatars/".$user.".jpg");
                                
    $avasrc="avatars/".$user.".jpg";
                            }
                            else {
                                
    $avasrc="avatars/no1.jpg";
                            }
                            
    $sql="INSERT INTO users(id, username, password, uploads, downloads, avatar, about_me, rights, mail) VALUES('', '".$user."', '".$pw."', '0', '0', '".$avasrc."', '".$about."', 'normal', '".$mail."')";
                            if (
    $db->query($sql)) {
                                
    $content="<font color='#005500'>You have been sucessfully registered.</font><br><a href='index.php'>return to the main page to log in in your new account</a>";
                            }
                            else {
                                
    $content="<a>The MySQL Database connection faild:".$db->error.".  Please try again later and </a><a href='index.php?page=kont'>contact</a><a> us.</a>";
                            }
                        }
                    }
                    else {
                        
    $content="<font color='#EE0505'>registration faild</font><br><a>->Inavalid About-Text. Max. 500 chars.</a><br><br><center><a href='index.php?page=register'>back</a></center>";
                }
        }
            else {
                
    $content="<font color='#EE0505'>registration faild</font><br><a>->Inavalid E-Mail Adress</a><br><br><center><a href='index.php?page=register'>back</a></center>";
        }
    }
        else {
            
    $content="<font color='#EE0505'>registration faild</font><br><a>->Inavalid Password</a><br><br><center><a href='index.php?page=register'>back</a></center>";
        }
    }
    else {
        
    $content="<font color='#EE0505'>registration faild</font><br><a>->Inavalid Username</a><br><br><center><a href='index.php?page=register'>back</a></center>";
    }
    @
    $db->close();
    ?>
    und man kann einen benutzer erstellen, der wird dann aber komischerweise 2 mal in die db eingetragen, also doppelt. Wenn man dann einen zweiten registrieren will, wird der garnicht eingetragen, es wird aber ausgegeben, dass er das wurde. Weill man einen Nutzer mit dem Gleichen namen machen, kommt auch die korrekte Ausgabe. Aber was mach ich jetzt schon wieder falsch, google hilft mir da nicht, hab schon probiert, danke an alle im vorraus.
    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 !!!!!
    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!

  2. #2
    Bandit
    Gast

    Standard AW: Ich nochmal, mysql-probleme mit INSERT

    Den Teil
    PHP-Code:
        $sql="SELECT username FROM users";
        
    $resultat=$db->query($sql);
        echo 
    $db->error."<br>";
        
    $ergeb=$resultat->fetch_array();
        echo 
    $db->error."<br>";
        foreach(
    $ergeb as $name) {
            if (
    $name==$user) {
                
    $content="<font color='#EE0505'>registration faild</font><br><a>->Username already in use</a><br><br><center><a href='index.php?page=register'>back</a></center>";
                
    $go=false;
            }
        } 
    solltest du dir nochmals ansehen, der ist Quatsch. Außerdem sollte du dich mal mit Bedingungen bei DB-Abfragen beschäftigen. Und dann ist auch noch dein HTML-Code mehr schlecht als recht. font ist veraltet und was dein <a> und </a> bewirken sollen, bleibt dein Geheimnis.

  3. #3
    Kaiser(in)
    Themenstarter

    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: Ich nochmal, mysql-probleme mit INSERT

    Danke für deine Antwort, bandit, aber der HTML Code ist nocht das Problem, der sdieht aus wie er soll, valide oder nicht. Und wiso soll der Teil mist sein, ich merk aber grad, da ich nochmal in meinem buch nach SELECT gesuch hab, dass $resultat->close(); fehlt. Ich probiers mit.
    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!

  4. #4
    Bandit
    Gast

    Standard AW: Ich nochmal, mysql-probleme mit INSERT

    Der Teil ist Mist, weil er eben Mist ist!

    Ein fetch_array liefert einen Datensatz und nicht mehr! In millionen von Tutorials kann man nachlesen, wie man Datensätze ausliest.

  5. #5
    Kaiser(in)
    Themenstarter

    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: Ich nochmal, mysql-probleme mit INSERT

    Na und? Er muss nichts anderes als einen datensatz ausgeben! Und
    Er ist mist, weil er eben mist ist
    ist nicht wirklichi hilfreich, sorry. Und mit $resultat->close(); hat sich nichts geändert.
    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!

  6. #6
    Bandit
    Gast

    Standard AW: Ich nochmal, mysql-probleme mit INSERT

    Zitat Zitat von Tobse Beitrag anzeigen
    ist nicht wirklichi hilfreich, sorry.
    Ein fetch_array liefert einen Datensatz und nicht mehr! In millionen von Tutorials kann man nachlesen, wie man Datensätze ausliest.

    Und nochmal: Beschäftige dich mal mit Bedingungen bei DB-Abfragen!!!

  7. #7
    Kaiser(in)
    Themenstarter

    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: Ich nochmal, mysql-probleme mit INSERT

    bandit, wieso soll der fehler beim auslesen liegen, wenn das eintragen nicht funktioniert? Es gibt in PHP folgendende SELECT-Bedingungen: WHERE, HAVING, GROUP BY, ORDER BY, LIMIT.
    UNd ich muss aber ALLES haben, daher ist das unnötg.
    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!

  8. #8
    Bandit
    Gast

    Standard AW: Ich nochmal, mysql-probleme mit INSERT

    Is' ok, wenn du meinst! Wundere dich aber nicht, wenn User doppelt eingetragen werden. Wenn du nicht richtig ermittelst, ob der Username schon vorhanden ist, wird er eben mehrfach eingetragen. Aber wenn du nicht auf mich hören willst, bitte, du bist ja der Fachmann.

  9. #9
    Kaiser(in)
    Themenstarter

    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: Ich nochmal, mysql-probleme mit INSERT

    Ok, ich glaub wir verstehen uns miss.
    Ich schicke POST-Daten an die PHP, aber die trägt sie doppelt ein.
    Wenn ich jetzt hergehe und versuche, den gelichen benutzernamen zu registrieren, dann bekomme ich die meldung, das er bereits existiert. Aber wenn ich versuche, einen anderen zu registrieren, dann erhalte ich die meldung, es sei erfolgreich, aber es wird nichts eingetragen.
    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
    Bandit
    Gast

    Standard AW: Ich nochmal, mysql-probleme mit INSERT

    Wenn du die Meldung bekommst, dass der Username existiert, dann hast du den ersten Namen eingeben, wenn du den zweiten Namen in der Tabelle nimmst, geht es schon nicht mehr!

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    Ich bedanke mich für dieses Gespräch und bin dann mal weg!

Ähnliche Themen

  1. MySQL + Xampp probleme!
    Von Unregistriert im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 25
    Letzter Beitrag: 05.04.2009, 23:54
  2. Mysql Insert, Wo ID...
    Von Darkxor im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 12.02.2009, 15:49
  3. MySQL Probleme mit Script
    Von BLeeK im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 13.08.2008, 14:39
  4. mysql und php insert/update
    Von synaptic im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 13
    Letzter Beitrag: 16.07.2008, 13:13
  5. 2 Probleme mit PHP&MYSQL
    Von Jensico im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 19.03.2007, 15:53

Stichworte

Berechtigungen

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