Neues Problem

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

  • Neues Problem

    So, mein Problem ist:
    Ich erzeuge einen User, dem ich eine bestimmte Abteilung zuordne. Wenn ich den user editieren will, dann wählt er aber nicht automatisch die von mir ausgewählte
    Abteilung aus, sondern nimmt gleich den ersten. Hier der Code. Ich weiß nicht, wie ich das Lösen soll.
    PHP-Code:
    <?
      $intSecurity = 0;
      $intTimeOut = 900;
      $intSecFolder = TRUE;
      $strPageTitle = "Edit a User";

      Include("../includes/security.inc.php");
      Include("../includes/functions.inc.php");
      Include("../includes/db.inc.php");

      If ($HTTP_POST_VARS["btnSubmit"] != "") {
          $strUserID      = validateText("User ID", $txtUserID, 3, 20, TRUE, FALSE);
          $strFirstName    = validateText("First Name", $txtFirstName, 2, 40, TRUE, FALSE);
          $strMiddleInit  = validateText("Middle Initial", $txtMiddleInit, 1, 1, FALSE, FALSE);
          $strLastName    = validateText("Last Name", $txtLastName, 2, 40, TRUE, FALSE);
          $strEmail        = validateEmail("Email Address", $txtEmail, TRUE);
          If ($cboLevel == "" AND $strError == "") {
              $strError = "Please select a security level.";
          }

            If($cboAbteilung == "" AND $strError == "") {
        $strError = "Please select a department.";
          } Else {
        $intAbteilung = $cboAbteilung;
          } 
          
          
          
          If ($strError == "") {
              $strSQL = "SELECT id FROM tblSecurity WHERE userID='$strUserID' AND NOT id=".$editID;
              $result = dbquery($strSQL);
              $intFound = mysql_num_rows($result);
              If ($intFound != 0) {
                    $strError = "That userID already exists.";
              } Else {
                    $strSQL = "SELECT id FROM tblSecurity WHERE email='$strEmail' AND NOT id=".$editID;
                    $result = dbquery($strSQL);
                    $intFound = mysql_num_rows($result);
                    If ($intFound != 0) {
                        $strError = "That email address already exists.";
                    } Else {
                        $strSQL = "UPDATE tblSecurity SET userID='$strUserID', firstName='$strFirstName', middleInit='$strMiddleInit', lastName='$strLastName', email='$strEmail', securityLevel=$cboLevel, fk_abteilung=$cboAbteilung WHERE id=".$editID;
                        $result = dbquery($strSQL);
                        $strError = "This account has been updated successfully.";
                    }
              }
          }
      } Else {
          $strSQL = "SELECT userID, firstName, middleInit, lastName, email, securityLevel, fk_abteilung FROM tblSecurity WHERE id=".$editID;
          $result = dbquery($strSQL);
          $row = mysql_fetch_row($result);

          $strUserID = $row[0];
          $strFirstName = $row[1];
          $strMiddleInit = $row[2];
          $strLastName = $row[3];
          $strEmail = $row[4];
          $cboLevel = $row[5];
          $cboAbteilung = $row[6];
      }

      Include("../includes/header.inc.php");
      declareError(TRUE);
    ?>

    <form name="form1" method="POST" action="editUser.php">
      <p><table border='0' width='406' cellpadding='2'>
        <tr>
          <td width='106'>UserID:</td>
          <td width='300'><input type="text" name="txtUserID" value="<?echo $strUserID;?>" size="20" maxlength="20"></td>
        </tr>
        <tr>
          <td width='106'>First Name:</td>
          <td width='300'><input type="text" name="txtFirstName" value="<?echo $strFirstName;?>" size="40" maxlength="40"></td>
        </tr>
        <tr>
          <td width='106'>Middle Initial:</td>
          <td width='300'><input type="text" name="txtMiddleInit" value="<?echo $strMiddleInit;?>" size="1" maxlength="1"></td>
        </tr>
        <tr>
          <td width='106'>Last Name:</td>
          <td width='300'><input type="text" name="txtLastName" value="<?echo $strLastName;?>" size="40" maxlength="40"></td>
        </tr>
        <tr>
          <td width='106'>Email:</td>
          <td width='300'><input type="text" name="txtEmail" value="<?echo $strEmail;?>" size="40" maxlength="50"></td>
        </tr>
        <tr>
          <td width='106'>Security Level:</td>
          <td width='300'>
              <select name='cboLevel'>
                  <option value=''>&nbsp;</option>
                  <option value='0' <? echo writeSelected($cboLevel, "0"); ?>>Full-access</option>
                  <option value='1' <? echo writeSelected($cboLevel, "1"); ?>>Limited-access</option>
                  <option value='2' <? echo writeSelected($cboLevel, "2"); ?>>Read-only</option>
                  <option value='3' <? echo writeSelected($cboLevel, "3"); ?>>No-access</option>
              </select>
          </td>
        </tr>
        <tr>
    <td width='115'>Department:</td>
    <td width='300'>
    <select name='cboAbteilung'>
    <?
    $db = mysql_connect('localhost' ,'inventory', '20074054');
    $res = mysql_db_query("inventory", "select * from Abteilung");
    echo "<option value=''>&nbsp;</option>\n";
    while($row = mysql_fetch_array($res)){
      echo "<option value='$row[id_abteilung]'";
    if ($row[id_abteilung] == $intAbteilung)
    {
    echo " selected ";
    }
    echo ">$row[name]</option>\n";
    }
    mysql_close($db);
    ?>
    </select>

    </td>
    </tr>
      </table><p>

      <input type="hidden" value="<? echo $editID; ?>" name="editID">
      <input type="submit" value="Submit" name="btnSubmit">
      <input type="reset" value="Reset" name="reset">
    </form>

    <?
      Include("../includes/footer.inc.php");
    ?>

  • #2
    Ist das nicht schon erledigt?
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      nö, es geht eben nicht. keine ahnung woran es liegt.

      Also besser gesagt, da wo ich den User erstelle geht es. Nur wenn ich das auf einer anderen Seite wieder abfrage, geht es nicht mehr
      Zuletzt geändert von Schneggo; 02.08.2002, 10:15.

      Kommentar


      • #4
        Das ist der Bereich, der dafür sorgt, das der User selected wird.
        PHP-Code:
        <?
        // $db = mysql_connect('localhost' ,'inventory', '20074054');
        $res = mysql_db_query("inventory", "select * from Abteilung");
        echo "<option value=''>&nbsp;</option>\n";
        while($row = mysql_fetch_array($res)){
          echo "<option value='$row[id_abteilung]'";
        if ($row[id_abteilung] == $intAbteilung)
        {
        echo " selected ";
        }
        echo ">$row[name]</option>\n";
        }
        // mysql_close($db);
        ?>
        Dann habe ich mal noch eine andere Frage:
        Was holst du dir in deisen Dateien?
        PHP-Code:
        Include("../includes/db.inc.php"); // Die sieht aus als ob sie alle Datenbanksachen enthält. Benutzername Passwort Datenbankserver. 
        Wenn das Richtig ist, brauchst du die erste Zeile in diesem Code-Abschnitt nicht, da sie ja aus der Datei db.inc.php kommt.
        *winks*
        Gilbert
        ------------------------------------------------
        Hilfe für eine Vielzahl von Problemen!!!
        http://www.1st-rootserver.de/

        Kommentar


        • #5
          für diesen teil brauch ich sie nicht. Brauchs für andere Teile, wollte es da mal ausprobieren.

          Kommentar


          • #6
            Mach mal das
            PHP-Code:
            <select name='cboAbteilung' size='10'>
            <?
            $db = mysql_connect('localhost' ,'inventory', '20074054');
            $res = mysql_db_query("inventory", "select * from Abteilung");
            echo "<option value=''>&nbsp;</option>\n";
            while($row = mysql_fetch_array($res)){
              echo "<option value='$row[id_abteilung]'";
            if ($row[id_abteilung] == $intAbteilung)
            {
            echo " selected ";
            }
            echo ">$row[name]</option>\n";
            }
            mysql_close($db);
            ?>
            </select>
            Setzt mal für die size='10' im Bereich select die Zahl ein, wieviele Abteilungen hast. Damit kannst du kontrolliern ob das selected richtig sitzt.
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              Es funktioniert ja auch, wenn ich es auswähle und den Benutzer erstelle. Das ist nicht das Problem.

              Aber er kann diese Auswahl nicht behalten. Wenn ich den User bearbeiten möchte, dann steht hald nicht die vorher ausgewählte Abteilung drin. Ist zwar nur ein optisches Problem, aber es stört mich hald.

              Verstehst du was ich meine??

              Kommentar


              • #8
                Mach mal zusätzlich eineAusgabe für den $intAbteilung davor:
                PHP-Code:

                <?
                echo"$intAbteilung<br>";
                ?>
                <select name='cboAbteilung' size='10'>
                <?
                $db = mysql_connect('localhost' ,'inventory', '20074054');
                $res = mysql_db_query("inventory", "select * from Abteilung");
                echo "<option value=''>&nbsp;</option>\n";
                while($row = mysql_fetch_array($res)){
                  echo "<option value='$row[id_abteilung]'";
                if ($row[id_abteilung] == $intAbteilung)
                {
                echo " selected ";
                }
                echo ">$row[name]</option>\n";
                }
                mysql_close($db);
                ?>
                </select>
                *winks*
                Gilbert
                ------------------------------------------------
                Hilfe für eine Vielzahl von Problemen!!!
                http://www.1st-rootserver.de/

                Kommentar


                • #9
                  Original geschrieben von Schneggo
                  Es funktioniert ja auch, wenn ich es auswähle und den Benutzer erstelle. Das ist nicht das Problem.

                  Aber er kann diese Auswahl nicht behalten. Wenn ich den User bearbeiten möchte, dann steht hald nicht die vorher ausgewählte Abteilung drin. Ist zwar nur ein optisches Problem, aber es stört mich hald.

                  Verstehst du was ich meine??
                  Wie jetzt, was jetzt?
                  Der selected ist richtig gesetzt? Aber er zeigt dir in der Auswahl nur die erste Option (&nbsp an? Richtig?
                  Zuletzt geändert von Wotan; 02.08.2002, 10:46.
                  *winks*
                  Gilbert
                  ------------------------------------------------
                  Hilfe für eine Vielzahl von Problemen!!!
                  http://www.1st-rootserver.de/

                  Kommentar


                  • #10
                    Nö, haut nicht hin. Bei dem security Level funktioniert es ja auch!?! Warum da und warum hier nicht

                    Kommentar


                    • #11
                      ja genau

                      Also was heißt die erste Auswahl, wenn ich die Person bearbeiten möchte, dann zeigt er mir wieder die erste Auswahl an

                      Kommentar


                      • #12
                        editiert
                        *winks*
                        Gilbert
                        ------------------------------------------------
                        Hilfe für eine Vielzahl von Problemen!!!
                        http://www.1st-rootserver.de/

                        Kommentar


                        • #13
                          was????

                          Kommentar


                          • #14
                            Die beiden Poistings haben sich überschnitten deshalb habe ich meine Antwort gelöscht.
                            *winks*
                            Gilbert
                            ------------------------------------------------
                            Hilfe für eine Vielzahl von Problemen!!!
                            http://www.1st-rootserver.de/

                            Kommentar


                            • #15
                              Nochmal zum mitschreiben:

                              1) du legst eine Usere an (Klappt)
                              2) Du willst den User ändern (User wird ins Forumlar gelesen)
                              2.1) Bis auf die User-Daten Abteilung werden alle richtig angeziegt.
                              2.2) Die User-Daten Abteilung werden garnicht angezeigt im Select-Feld.
                              2.3) Die User-Daten Abteilung werden richtig angezeigt, aber das Selcet-Feld springt nicht um.
                              *winks*
                              Gilbert
                              ------------------------------------------------
                              Hilfe für eine Vielzahl von Problemen!!!
                              http://www.1st-rootserver.de/

                              Kommentar

                              Lädt...
                              X