Kontrolle

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kontrolle

    Hallo, ich hab ein Problem. Ich möchte dass die Formulardaten nur in die Datenbank geschrieben werden, wenn das ausgefüllte ein Username ist.Also soll geprüft werden ob $gegener (so heißt das Formular) in $uid ist. Versteht ihr die Frage? Aber so wie der Code im Moment ist, wird nur geprüft ob $gegner der Username des Users ist, der die Seite aufruft.

    Hier ist der bisherige Code:

    PHP-Code:
    <?php

    session_start
    ();

    include(
    '../main.php');

    logincheck();

    db_connect();



    if(
    $_POST['gegner']!=$uid){
        
    $uid $_SESSION['uid'];
        
    $gegener   $_POST['gegener'];

    {   

        
    $sql="UPDATE users SET gegener='$gegener' WHERE uid='$uid'";
        
    $result mysql_query($sql) or die("Fehler!");
    }    ;
    } else {
        echo 
    "<Script>alert('Fehler! Dies könnten die Gründe sein: Sie 
    versuchen gegen sich selbst zu kämpfen. Den User den sie 
    ausgewählt haben gibt es nicht.')</script>"
    ;
    }
            
    db_disconnect();
    if (isset(
    $result))
    {
        
    header("Location: ".KAEMPFEN_HREF);
    }
    else
    {
        echo 
    "<Script>history.back(-1)</script>";
    }

    ?>
    EDIT:
    By TobiaZ: Umbruch geschenkt
    Zuletzt geändert von TobiaZ; 01.09.2006, 22:42.

  • #2
    Brich deinen Code um!

    Kommentar


    • #3
      Wie den Code einbrechen?

      Kommentar


      • #4
        Regeln lesen?!?

        Kommentar


        • #5
          Jetzt besser?

          PHP-Code:
          if($_POST['gegner']!=$uid){
              
          $uid $_SESSION['uid'];
              
          $gegener   $_POST['gegener'];

          {   

              
          $sql="UPDATE users SET gegener='$gegener' WHERE uid='$uid'";
              
          $result mysql_query($sql) or die("Fehler!");
          }    ;
          } else {
              echo 
          "<Script>alert('Fehler! Dies könnten die Gründe sein: 
          Sie versuchen gegen sich selbst zu kämpfen. Den User den sie ausgewählt haben gibt es nicht.')</script>"
          ;

          Kommentar


          • #6
            nein, ich verstehe die frage nicht.
            übrigens, das wort "gegner" ist gar nicht so schwer, wie es aussieht. arbeite daran!

            Kommentar


            • #7

              Kommentar


              • #8
                Ich möchte ganz einfach dass wenn $gegener (ich weiß es ist falsch geschrieben) kein Username ist. Soll eine Fehlermeldung kommen also so:


                PHP-Code:
                <?php if ($gegener != $uid)
                    echo 
                "<Script>alert('Fehler! Dies könnten die Gründe sein:
                 Sie versuchen gegen sich selbst zu kämpfen. 
                Den User den sie ausgewählt haben gibt es nicht.')</script>
                                  <Script>history.back(-2)</script>"
                ?>

                Doch hier im Code wird nur kontrolliert ob $gegener der Username des Users ist, der gerade auf der Seite ist.

                (Ich weiß dass Gegner falsch geschrieben ist, doch beim erstellen der Tabelle hatte ich mich vertippt und will es jetzt nicht mehr ändern.)

                Kommentar


                • #9
                  in anbetracht der tatsache, dass du immer wieder auf den spaltennamen zugreifen musst, wäre es ratsam den spaltennamen zu korrigieren.

                  Zu deinem Problem:
                  Um zu überpüfen, ob ein bestehender Username enthalten ist, machst du einfach ein SQL-SELECT auf die Usertabelle und überprüfst, ob der Name dort enthalten ist.

                  Kommentar


                  • #10
                    Weil ich noch nicht gut PHP kann hab ich ein bisschen in Tutorials und so gelesen.Und auf schattenbaum.net dachte ich ich hätte die Lösung.Jetzt hab ich diesen Code hier:
                    PHP-Code:
                    <?php 
                      $kampfkontrolle 
                    "SELECT uid FROM users";
                      if (
                    $gegener == $kampfkontrolle) {
                        echo 
                    "<a href=".KAMPF_HREF.">Die Daten ihres Gegners wurden geladen, klicken sie hier um fortzufahren.</a>";
                    } else {
                        echo 
                    "Den ausgewählten Benutzer gibt es nicht.";
                    }
                      
                    ?>
                    Doch es wird immer 'Den ausgewählten Benuter gibt es nicht.' ausgegeben. Wo ist hier der Fehler?

                    Kommentar


                    • #11
                      was glaubst du denn, hat die variable $kampfkontrolle wohl für einen wert?
                      PHP-Code:
                      echo $kampfkontrolle
                      gruß
                      peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        SELECT uid FROM users Und wie mach ich das jetzt? Mit mysql_query oder?

                        Kommentar


                        • #13
                          ja und such dann gleich nach mysqL_fetch_array bzw. mysql_fetch_assoc. das kommt nämlich als nächstes

                          gruß
                          peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Kommentar


                          • #14
                            <?php
                            $kampfkontrolle = "SELECT uid FROM users";
                            $kampfergebnis = mysql_query($kampfkontrolle);
                            if ($gegener != $kampfergebnis) {
                            echo "Den ausgewählten Benutzer gibt es nicht.";
                            } else {
                            echo "<a href=".KAMPF_HREF.">Die Daten ihres Gegners wurden geladen, klicken sie hier um fortzufahren.</a>";
                            }
                            ?>

                            So das ist jetzt der Code doch, egal ob es den User gibt oder nicht, es wird immer 'Die Daten ihres Gegners wurden geladen, klicken sie hier um fortzufahren.' ausgegeben.

                            Kommentar


                            • #15
                              Original geschrieben von Kropff
                              ja und such dann gleich nach mysqL_fetch_array bzw. mysql_fetch_assoc. das kommt nämlich als nächstes
                              wer lesen kann ist klar im vorteil
                              EDIT:
                              ergänzung

                              oder schau mal hier nach

                              gruß
                              peter
                              Zuletzt geändert von Kropff; 06.09.2006, 14:45.
                              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                              Meine Seite

                              Kommentar

                              Lädt...
                              X