muh, warum funzt das net

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

  • muh, warum funzt das net

    Ich habe diverse Probleme mit
    <input type=checkbox>. Wenn man mehrere checkboxen mit dem selben namen hat, ist das ganze doch ein array oder?
    Wie überpüfe ich den array mit isset() denn?
    EInfach mit ner Schleife? Ausserdem können ja mehrere Checkboxen gewählt sein, die sollen dann in EIN Feld einer Mysql Tabelle geschrieben werden, ist das so richtig?

    code:


    <?php
    function madd()
    {
    global $HTTP_POST_VARS, $PHP_SELF;
    if(isset($HTTP_POST_VARS["absenden"]) && $HTTP_POST_VARS["absenden"] == "Member adden" && isset($HTTP_POST_VARS["nick"]) && strlen($HTTP_POST_VARS["nick"]) >= 1 && isset($HTTP_POST_VARS["pw"]) && strlen($HTTP_POST_VARS["pw"]) >=1 && isset($HTTP_POST_VARS["email"]) && strstr($HTTP_POST_VARS["email"], "@") == true && strstr($HTTP_POST_VARS["email"], ".") == true && isset($HTTP_POST_VARS["tasks[]"]))
    {
    $v1 = $HTTP_POST_VARS["nick"];
    $v2 = $HTTP_POST_VARS["pw"];
    $v3 = $HTTP_POST_VARS["email"];
    $v4 = $HTTP_POST_VARS["tasks[]"];
    print $v4;
    $db = mysql_connect("localhost", "admin");
    mysql_select_db("gds");
    mysql_query("INSERT INTO members (nick, pw, email ) VALUES ('$v1', '$v2', '$v3')", $db);
    for($i=0; $i < count($v4); $i++)
    {
    mysql_query("INSERT INTO members (tasks) VALUES ('$v4')", $db);
    }
    mysql_close($db);
    print('<h4>Neuen Member "').$v1.('" geaddet!');
    }
    else
    {
    print('<form method=post action="').$PHP_SELF.('">');
    print(' <table border=0 cellspacing=0 cellpadding=2 align=center>');
    print(' <tr>');
    print(' <td align=right>');
    print(' Nick:');
    print(' </td>');
    print(' <td align=left>');
    print(' <input type=text size=23 maxlenght=48 name="nick">');
    print(' </td>');
    print(' </tr>');
    print(' <tr>');
    print(' <td align=right>');
    print(' Password:');
    print(' </td>');
    print(' <td align=left>');
    print(' <input type=password size=12 maxlenght=28 name="pw">');
    print(' </td>');
    print(' </tr>');
    print(' <tr>');
    print(' <td align=right>');
    print(' Email:');
    print(' </td>');
    print(' <td align=left>');
    print(' <input type=text size=23 maxlenght=48 name="email">');
    print(' </td>');
    print(' </tr>');
    print(' <tr>');
    print(' <td align=right>');
    print(' Task(s):');
    print(' </td>');
    print(' <td align=left>');
    print(' <input type=checkbox name="tasks[]" checked value="Soldier">Soldier');
    print(' <input type=checkbox name="tasks[]" value="Leader">Leader');
    print(' <input type=checkbox name="tasks[]" value="Co-Leader">Co-Leader');
    print(' <input type=checkbox name="tasks[]" value="Serveradmin#1">Serveradmin');
    print(' <input type=checkbox name="tasks[]" value="Serveradmin#2">Serveradmin#2<br>');
    print(' <input type=checkbox name="tasks[]" value="Webmaster">Webmaster');
    print(' <input type=checkbox name="tasks[]" value="Tactics">Tactics');
    print(' <input type=checkbox name="tasks[]" value="Trials">Trials');
    print(' <input type=checkbox name="tasks[]" value="PublicRelations">Public Relations');
    print(' <input type=checkbox name="tasks[]" value="Kassenwart">Kassenwart');
    print(' </td>');
    print(' </tr>');
    print(' <tr>');
    print(' <td colspan=2 align=center>');
    print(' <br><input type=submit name="absenden" value="Member adden">');
    print(' </td>');
    print(' </tr>');
    print('</table>');
    }
    }

    madd();
    ?>
    /me

  • #2
    HAB ES

    So ich hab es jetzt raus:




    <?php
    function madd()
    {
    global $HTTP_POST_VARS, $PHP_SELF;
    if(isset($HTTP_POST_VARS["absenden"]) && $HTTP_POST_VARS["absenden"] == "Member adden" && isset($HTTP_POST_VARS["nick"]) && strlen($HTTP_POST_VARS["nick"]) >= 1 && isset($HTTP_POST_VARS["pw"]) && strlen($HTTP_POST_VARS["pw"]) >=1 && isset($HTTP_POST_VARS["email"]) && strstr($HTTP_POST_VARS["email"], "@") == true && strstr($HTTP_POST_VARS["email"], ".") == true && count($HTTP_POST_VARS["tasks"]) > 0)
    {
    for($i=0; $i < count($HTTP_POST_VARS["tasks"]); $i++)
    {
    global $v4;
    $v4 = $v4.", ".$HTTP_POST_VARS["tasks"][$i];
    }
    $v1 = $HTTP_POST_VARS["nick"];
    $v2 = $HTTP_POST_VARS["pw"];
    $v3 = $HTTP_POST_VARS["email"];
    $db = mysql_connect("localhost", "admin");
    mysql_select_db("gds");
    mysql_query("INSERT INTO members (nick, pw, email, tasks) VALUES ('$v1', '$v2', '$v3', '$v4')");
    for($i=0; $i < count($v4); $i++)
    {
    mysql_query("INSERT INTO members (tasks) VALUES ('$v4')", $db);
    }
    mysql_close($db);
    print('<h4>Neuen Member "').$v1.('" geaddet!');
    }
    else
    {
    print('<form method=post action="').$PHP_SELF.('">');
    print(' <table border=0 cellspacing=0 cellpadding=2 align=center>');
    print(' <tr>');
    print(' <td align=right>');
    print(' Nick:');
    print(' </td>');
    print(' <td align=left>');
    print(' <input type=text size=23 maxlenght=48 name="nick">');
    print(' </td>');
    print(' </tr>');
    print(' <tr>');
    print(' <td align=right>');
    print(' Password:');
    print(' </td>');
    print(' <td align=left>');
    print(' <input type=password size=12 maxlenght=28 name="pw">');
    print(' </td>');
    print(' </tr>');
    print(' <tr>');
    print(' <td align=right>');
    print(' Email:');
    print(' </td>');
    print(' <td align=left>');
    print(' <input type=text size=23 maxlenght=48 name="email">');
    print(' </td>');
    print(' </tr>');
    print(' <tr>');
    print(' <td align=right>');
    print(' Task(s):');
    print(' </td>');
    print(' <td align=left>');
    print(' <input type=checkbox name="tasks[]" checked value="Soldier">Soldier');
    print(' <input type=checkbox name="tasks[]" value="Leader">Leader');
    print(' <input type=checkbox name="tasks[]" value="Co-Leader">Co-Leader');
    print(' <input type=checkbox name="tasks[]" value="Serveradmin#1">Serveradmin');
    print(' <input type=checkbox name="tasks[]" value="Serveradmin#2">Serveradmin#2<br>');
    print(' <input type=checkbox name="tasks[]" value="Webmaster">Webmaster');
    print(' <input type=checkbox name="tasks[]" value="Tactics">Tactics');
    print(' <input type=checkbox name="tasks[]" value="Trials">Trials');
    print(' <input type=checkbox name="tasks[]" value="PublicRelations">Public Relations');
    print(' <input type=checkbox name="tasks[]" value="Kassenwart">Kassenwart');
    print(' </td>');
    print(' </tr>');
    print(' <tr>');
    print(' <td colspan=2 align=center>');
    print(' <br><input type=submit name="absenden" value="Member adden">');
    print(' </td>');
    print(' </tr>');
    print('</table>');
    }
    }

    madd();
    ?>
    /me

    Kommentar


    • #3
      NEUES PROB

      Ich habe mal wieder ein problem.
      Hier ist der code:

      <?php
      function changemember()
      {
      $db = mysql_connect("localhost", "admin");
      mysql_select_db("gds");
      $inhalt = mysql_query("SELECT id, nick FROM members ORDER BY id");
      $daten = mysql_fetch_array($inhalt);
      if(count($daten["id"]) > 0)
      {
      print('<select name="mid">');
      print("\n");
      while ($daten)
      {
      print('<option value="mid=').$daten["id"].('">').$daten["nick"].('</option>');
      print("\n");
      }
      $dbc = @mysql_close($db);
      print('</select');
      print("\n");
      }
      else
      {
      print('<h4>Kein Eintr&auml;ge in der Tabelle "members" !</h4>');
      print("\n");
      }
      }

      changemember();
      ?>
      Zur Zeit ist in der Tabelle nur ein Eintrag.
      Wenn ich die Funtion jetzt ausführe, dann schreibt er solange den einen nick als option bis der apache abschmiert!
      Was ist daran schuld/ falsch???

      Bitte helf ich weiss es diesmal wirklich nciht.
      /me

      Kommentar


      • #4
        Die Schleife da:
        while ($daten)
        {
        print('<option value="mid=').$daten["id"].('">').$daten["nick"].('</option>');
        print("\n");
        }

        Ist IMMER true, weil $daten ja immer etwas enthält.
        Ich glaube du möchtest sowas in der Art haben:

        <?php
        function changemember()
        {
        $db = mysql_connect("localhost", "admin");
        mysql_select_db("gds");
        $inhalt = mysql_query("SELECT id, nick FROM members ORDER BY id");
        if (mysql_num_rows($inhalt)) > 0)
        {
        print('<select name="mid">');
        print("\n");
        while ($daten = mysql_fetch_array($inhalt))
        {
        print('<option value="mid=').$daten["id"].('">').$daten["nick"].('</option>');
        print("\n");
        }
        $dbc = @mysql_close($db);
        print('</select');
        print("\n");
        }
        else
        {
        print('<h4>Kein Eintr&auml;ge in der Tabelle "members" !</h4>');
        print("\n");
        }
        }

        CAT Music Files

        Kommentar


        • #5
          Problem #3

          Ich habe ein Tabelle members in einer Mysql Datenbank, die auch mit Daten gefüllt ist.
          Ich habe die Datenbank ausgewählt und connected.
          Dann soll das Statement für den query folgendes sein.
          $inhalt = mysql_query("SELECT nick FROM members WHERE nick=$user, pw=$pw");

          natürlich existieren die Spalten pw und nick und sind auch mit daten gefüllt.

          Hier kommt die Fehlermeldung:

          Warning: Supplied argument is not a valid MySQL result resource in c:\programme\apache group\apache\htdocs\gds]^\login\login.php on line 13

          In Line 13 steht das oben aufgeführte Sql statement.

          Warum geht das jetzt nicht?
          /me

          Kommentar


          • #6
            $inhalt = mysql_query("SELECT nick FROM members WHERE nick='$user', pw='$pw'");

            Kommentar


            • #7
              Nö das war es nicht

              Also daran hab ich auch schon gedacht, hab es eben nochmal ausprobiert, aber es geht nicht!

              Kann mir mal jemand zu der Fehlermeldung auskunft geben?
              Kann es sein das nach dem Where nur ein Argument stehen darf?
              Oder muss man wenn die anders verknüpfen?
              /me

              Kommentar


              • #8
                Nein, aber die werden dann nicht per Komma gereiht sondern mit ner Boole'schen Expression verknüpft:

                $inhalt = mysql_query("SELECT nick FROM members WHERE nick='$user' AND pw='$pw'");

                CAT Music Files

                Kommentar


                • #9
                  axo

                  Achso ja danke, aber ich bin eben ein dummes kleines Kind.
                  /me

                  Kommentar


                  • #10
                    Frage zu Mysql

                    Wenn ich eine Mysql tabelle erstelle, wie setze ich dann einen Defaultwert ?
                    /me

                    Kommentar


                    • #11
                      http://www.mysql.com/doc/C/R/CREATE_TABLE.html

                      CAT Music Files

                      Kommentar


                      • #12
                        Problem mit Update statment

                        Habe ein Problem mit UPDATE.

                        Hier der Code(ausschnitt):


                        $v1 = $HTTP_POST_VARS["pw1"];
                        $v2 = $HTTP_POST_VARS["act"];
                        $v3 = $HTTP_POST_VARS["memsince"];
                        $v4 = $HTTP_POST_VARS["vorname"];
                        $v5 = $HTTP_POST_VARS["nachname"];
                        $v6 = $HTTP_POST_VARS["email"];
                        $v7 = $HTTP_POST_VARS["icq"];
                        $v8 = $HTTP_POST_VARS["tel"];
                        $v9 = $HTTP_POST_VARS["birth"];
                        $v10 = $HTTP_POST_VARS["beruf"];
                        $v11 = $HTTP_POST_VARS["strassenr"];
                        $v12 = $HTTP_POST_VARS["ort"];
                        $v13 = $HTTP_POST_VARS["land"];
                        $v14 = $HTTP_POST_VARS["hobbies"];
                        $v15 = $HTTP_POST_VARS["os"];
                        $v16 = $HTTP_POST_VARS["hardware"];
                        $v17 = $HTTP_POST_VARS["inetc"];
                        $v18 = $HTTP_POST_VARS["fweapon"];
                        $v19 = $HTTP_POST_VARS["fmap"];
                        $v20 = $HTTP_POST_VARS["quote"];
                        $v21 = $HTTP_POST_VARS["boutmyself"];
                        mcs();
                        $a = mysql_query("UPDATE members SET pw='$v1' && act='$v2' && vorname='$v4' && nachname='$v5' && email='$v6' && icq ='$v7'&& ort ='$v12' && land='$v13' && strassenr='$v11' && tel ='$v8' && birth= 'v9' && beruf='$v10' && hobbies='$v14' && os='$v15' && hardware='$v16' && inetc='$v17' && fweapon='$v18' && fmap='$v19' && boutmyself ='$v21' && memsince='$v3', quote='$v20' WHERE nick='$user'");
                        md();
                        if($a)
                        {print('<h4>Informationen aktualsiert!</h4>');}

                        mcs() und md() sind funtionen die die verbindung zu mysql aufbauen und schliessen(funtionnieren). Alle andern Varibalen sind auch mit daten gefüllt.

                        Aber trotz allem macht er kein Update der Daten in der Tabelle. ISt an der Syntax was falsch?
                        /me

                        Kommentar


                        • #13
                          ersetz alle && durch kommata

                          CAT Music Files

                          Kommentar


                          • #14
                            Mal ein tip, wenn Du Probs mit sql Statements hast dann lass es Dir ausgeben im Script.
                            einfach direkt danach

                            print $sql;

                            Grade wenn Du mit variablen arbeitest, dann siehst Du auch ob die Varuiablen den richtigen Inhalt haben...
                            Beantworte nie Threads mit mehr als 15 followups...
                            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                            Kommentar


                            • #15
                              Mal ein Tip, wenn Du Probs mit sql Statements hast dann lass es Dir ausgeben im Script.
                              einfach direkt danach

                              print $sql;

                              Grade wenn Du mit variablen arbeitest, dann siehst Du auch ob die Variablen den richtigen Inhalt haben...
                              Beantworte nie Threads mit mehr als 15 followups...
                              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                              Kommentar

                              Lädt...
                              X