Ankündigung

Einklappen
Keine Ankündigung bisher.

Verwarn System

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Verwarn System

    Hallo PHP User,

    Ich bin gerade dabei, ein Verwarn system zu schreiben

    PHP-Code:
          @mysql_connect("localhost","*****""******") or die ("Error<br />"); 
          @
    mysql_select_db("******") or die ("Datenabnl nicht vorhanden<br />");

          
    $verw $_POST['verw'];
          
    $verwarn $_POST['verwarn'];
          
    $grund $_POST['grund'];
          
    $acc $_SESSION['admin'];
          
    $datum date("d.m.Y");
          
    $zeit date("H:i:s");
          
          if(
    $verw != $verw OR $verwarn == "" OR $grund == "" or $acc == ""
          { 
          echo 
    "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"eintragen.html\">Zurück</a>"
          exit; 
          } 
           
          
    $query "SELECT verw FROM verwarnung WHERE verwarn='$verwarn'";
          
    $result mysql_query($query);
          if (
    mysql_num_rows($result)) 
          {
          
    $aendern "UPDATE verwarnung
          WHERE verwarn = '2'"
    ;
          
    $update mysql_query($aendern);
          exit;
          }
          else 
          {
          
    $aendern "UPDATE verwarnung
          WHERE verwarn = '2'"
    ;
          
    $update mysql_query($aendern);
          } 
          
          
    $eintrag "INSERT INTO verwarnung (verw, verwarn, grund, admin, datum, zeiz) 
          VALUES ('
    $verw', '$verwarn', '$grund', '$acc', '$datum', '$zeit')"
          
    $eintragen mysql_query($eintrag); 
    Problem: Er Registriert meine Verwarnung, er gibt sie auch aus.
    nur ich versuche es die ganze zeit, das er USER | Verwarnung 1 | updatet quasi
    USER | Verwarnung 2 aber er registriert einen 2 eintrag also
    Frech | Verwarnung 1
    Frech | Verwarnung 2

    kann mir jemand helfen???

  • #2
    Verwarn System

    Zitat von Nazatrika
    kann mir jemand helfen???
    Geh´ dein Script ab dem SQL-Statement
    PHP-Code:
    $query "SELECT verw FROM verwarnung WHERE verwarn='$verwarn'"
    durch. Was passiert danach?

    PHP-Code:
    if (mysql_num_rows($result)) {
          
    $aendern "UPDATE verwarnung WHERE verwarn = '2'";
          
    $update mysql_query($aendern);
          exit;
    } else {
          
    $aendern "UPDATE verwarnung WHERE verwarn = '2'";
          
    $update mysql_query($aendern);

    Worauf magst du ein Update durchführen, wenn kein Ergebnis bei der Abfrage vorhanden ist? Weiterhin kann dieses Update nicht funktionieren, da das SQL-Statement falsch ist. Bitte mysql_error einbauen, dann siehst du vielleicht was gemeint ist.

    Und offensichtlich liefert dein SQL-Statement kein Ergebnis, sonst würde die if-Anweisung angesprochen und danach abbrechen. Hier müsstest du also prüfen, welche POST-Variablen über das Formular kommen.

    Somit führst du nach dem if-else-Zweig immer folgendes SQL-Statement aus.
    PHP-Code:
    $eintrag "INSERT INTO verwarnung (verw, verwarn, grund, admin, datum, zeiz)
    VALUES
    ('
    $verw', '$verwarn', '$grund', '$acc', '$datum', '$zeit')"
    $eintragen mysql_query($eintrag); 
    Und damit generierst du immer einen neuen Eintrag.

    Weiterhin solltest du dich über SQL-Injection, sowie mysqli oder PDO schlau machen. Die von dir verwendete MySQL-Erweiterung ist veraltet und wird mit kommenden PHP-Versionen nicht mehr unterstützt.
    Delirius

    PHP - Grundlagen / PDO - Tutorial / PDO - Dokumentation

    Kommentar


    • #3
      im Internet findet man nix.... alles probiert. nix....

      eigentlich will ich ja checken lassen

      Fech | 1 Verw

      Ah er hat eine verw. nun kommt die 2 UPDATE

      Fech | 2 Verw

      aber es geht einfach nix....

      Kommentar


      • #4
        Verwarn System

        Zitat von Nazatrika
        im Internet findet man nix.... alles probiert. nix....
        Das riecht nach Grüner Wiese...

        Ganz ehrlich...deine Aufgabenstellung ist nicht so schwer, ist auch für Anfänger lösbar. Wenn denn die Grundlagen bekannt sind und man sich mit der Materie beschäftigt hat. Was ich so von dir lese, lässt aber gegenteiliges zu. Ich hab´ dir ja auch schon geschrieben, wo du ansetzen solltest, um deine Aufgabe zu lösen...aber so wie es scheint kannst du damit nicht viel anfangen?! Korrigiere mich, wenn ich dir Unrecht zuspreche.

        Möchtest du das Script selbst umsetzen, kommst du nicht umhin dich weiter mit PHP zu beschäftigen und zu üben. Wenn du auf fertigen Code hoffst, solltest du in die Scriptbörse posten.
        Delirius

        PHP - Grundlagen / PDO - Tutorial / PDO - Dokumentation

        Kommentar


        • #5
          Ich habe einfach kein plan mehr wie ich es anstellen kann,

          wie es funktionieren soll,

          Ich habe es ja schon probiert alles, nur es buggt alles wie auch immer....

          Ich google, ich lerne ich bin dumm....

          Kommentar


          • #6
            Ich habe es ja schon probiert alles, nur es buggt alles wie auch immer....
            Dann debugge: http://php-de.github.io/jumpto/sql/

            PHP-Code:
            @mysql_connect("localhost","*****""******") or die ("Error<br />"); 
                  @
            mysql_select_db("******") or die ("Datenabnl nicht vorhanden<br />"); 
            Und damit @ unterdrückst du Fehler, dh Fehler werden nicht ausgegeben, willst du das? Ich denke nicht, mach das weg und kümmere dich um die Fehler.

            Und bau es gleich um, denn du nutzt die veraltete mysql Erweiterung - siehe meine Signatur.

            SQL-Injection wurde ja schon genannt. http://php-de.github.io/jumpto/sql-injection/
            Generell zur Sicherheit lesenswert: http://php-de.github.io/#security

            Und ...
            PHP-Code:
            WHERE verwarn '2' 
            ... kleine Anmerkung, nutzen Datentypen richtig.

            LG
            The string "()()" is not palindrom but the String "())(" is.

            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #7
              Ich google, ich lerne ich bin dumm....
              Das klingt gut, dann sind Dir beim googlen sicher schonmal folgende Dinge aufgefallen:

              1. mysql_* ist deprcated (veraltet) => mysqli_* oder PDO verwenden!
              2. @ unterdrücken Fehlermeldungen, was gerade bei der Fehlersuche (merkste die Logik) eher hinderlich ist!
              3. User-Eingaben (bspw. $_POST) NIE ungefiltert übernehmen.
              4. SQL-Queries escapen/preparen => siehe Punkt 1

              All das erklärt Dir Google, denn da suchst Du ja...

              Und ansonsten, siehe hausl (speziell die Signatur!)
              Competence-Center -> Enjoy the Informatrix
              PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

              Kommentar


              • #8
                bringt mich auch nicht weiter.....

                ob das forum gut ist? naia... ich durchsuche andere foren ...

                Kommentar


                • #9
                  Zitat von Nazatrika Beitrag anzeigen
                  bringt mich auch nicht weiter.....

                  ob das forum gut ist? naia... ich durchsuche andere foren ...
                  Mach das mal. Das Denken nimmt dir niemand ab. Andere Foren mögen dir eine fertige Lösung präsentieren, aber gelernt hast du dann immer noch nichts.
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #10
                    Im nach hin nein schon, denn ich fragte ja nach, was sind meine fehler, und was müsste ich machen, oke nix mit DELETE FROM , ik suche Insernt wenn Update da gibt es aber nur threads von 06 und net 2014 .

                    Kommentar


                    • #11
                      PHP-Code:
                      $ein "SELECT `verw` FROM `verwarnung` WHERE `verwarn` = $verwarn VALUES (verw='$verw', verwarn='
                            
                      $verwarn'");
                            
                      $eintrags mysql_query($ein); 
                      Schau ma, ich probiere sogar irgendwas , wo ich mir denke, es könnte gehen...
                      Nix mit irgendwas nix können.... ich strenge mich selber an

                      Kommentar


                      • #12
                        Verwarn System

                        Zitat von Nazatrika
                        Im nach hin nein schon, denn ich fragte ja nach, was sind meine fehler, und was müsste ich machen
                        Ich hab´ dir doch geschrieben, wo du ansetzen musst und das dein SQL-Statement für ein Update falsch ist. Fertige Lösungen bekommst du in der Scriptbörse, auch das hab´ ich dir geschrieben. Ehrlich gesagt, weiß ich nicht, worüber du dich beschwerst?!

                        Das grundlegende Problem ist einfach dein Wissensstand in Sachen PHP. Da hast du dran zu arbeiten, dann klappt das auch.

                        Zitat von Nazatrika
                        ob das forum gut ist?
                        Ja.

                        €dit:
                        Zitat von Nazatrika
                        Schau ma, ich probiere sogar irgendwas , wo ich mir denke, es könnte gehen...
                        Das ist doch das Problem...du probierst irgendwas...PHP funktioniert nicht, wie man glaubt / denkt das es gehen könnte. Lies dich in die Grundlagen ein, lerne die Syntax.
                        Delirius

                        PHP - Grundlagen / PDO - Tutorial / PDO - Dokumentation

                        Kommentar


                        • #13
                          SELECT ... VALUES?

                          Mach bitte Grundlagen-Tutorials. Links findest du hier im Forum genug.
                          [URL="http://goo.gl/6Biyf"]Lerne Grundlagen[/URL] | [URL="http://sscce.org/"]Schreibe gute Beispiele[/URL] | [URL="http://goo.gl/f2jR7"]PDO > mysqli > mysql[/URL] | [URL="http://goo.gl/jvfSZ"]Versuch nicht, das Rad neu zu erfinden[/URL] | [URL="http://goo.gl/T2PU5"]Warum $foo[bar] böse ist[/URL] | [URL="http://goo.gl/rrfzO"]SQL Injections[/URL] | [URL="http://goo.gl/Q81WJ"]Hashes sind keine Verschlüsselungen![/URL] | [URL="http://goo.gl/2x0e2"]Dein E-Mail Regex ist falsch[/URL]

                          Kommentar


                          • #14
                            Zitat von Nazatrika
                            Im nach hin nein schon, denn ich fragte ja nach, was sind meine fehler, und was müsste ich machen,
                            Zitat von Arne Drews Beitrag anzeigen
                            Das klingt gut, dann sind Dir beim googlen sicher schonmal folgende Dinge aufgefallen:

                            1. mysql_* ist deprcated (veraltet) => mysqli_* oder PDO verwenden!
                            2. @ unterdrücken Fehlermeldungen, was gerade bei der Fehlersuche (merkste die Logik) eher hinderlich ist!
                            3. User-Eingaben (bspw. $_POST) NIE ungefiltert übernehmen.
                            4. SQL-Queries escapen/preparen => siehe Punkt 1

                            All das erklärt Dir Google, denn da suchst Du ja...

                            Und ansonsten, siehe hausl (speziell die Signatur!)
                            Voila, Frage beantwortet. Mit Eigeninitiative kommste damit weiter.
                            Aber Istegelitz hat das schon richtig erkannt, Du gibst vor es lernen zu wollen, möchtest aber lieber fertige Lösungen haben!
                            Competence-Center -> Enjoy the Informatrix
                            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                            Kommentar


                            • #15
                              Zitat von Nazatrika Beitrag anzeigen
                              ob das forum gut ist? naia... ich durchsuche andere foren ...
                              Ja, ist es. Aber das ist nicht relevant, denn nicht das Ziel hier.

                              Sei sozial
                              Wir haben kein Interesse daran, kostenlos Deine Skripte zu schreiben oder zu reparieren, da das sehr viel Zeit und Mühe kosten kann. Akzeptiere also, dass sich unsere Motivation eventuell von Deiner unterscheidet und wir daher nur Hilfe zur Selbsthilfe geben.
                              Quelle - Forenrichtlinen: http://www.php.de/php-einsteiger/announcements.html

                              Somit, wenn was "nicht funktioniert", dann finde heraus warum und behebe es. Das nennt sich "debugging" und gehört genau so dazu bzw. ist genau so ein Teil der Arbeit des Programmierens an sich.

                              Bei konkreten Rückfragen zu konkreten Punkten wird dir hier sicher geholfen, aber bei so grundsätzlichen Fragen ist es wohl auch klar das du grundsätzliche Antworten (zB Links zu Grundlagen und debugging) bekommst.

                              LG
                              The string "()()" is not palindrom but the String "())(" is.

                              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                              PHP.de Wissenssammlung | Kein Support per PN

                              Kommentar

                              Lädt...
                              X