Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Neues Problem [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Neues Problem


 
Schneggo
02-08-2002, 08:48 
 
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.

<?
$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");
?>

 
Wotan
02-08-2002, 10:04 
 
Ist das nicht schon erledigt?

 
Schneggo
02-08-2002, 10:10 
 
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

 
Wotan
02-08-2002, 10:20 
 
Das ist der Bereich, der dafür sorgt, das der User selected wird.

<?
// $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?

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.

 
Schneggo
02-08-2002, 10:24 
 
für diesen teil brauch ich sie nicht. Brauchs für andere Teile, wollte es da mal ausprobieren.

 
Wotan
02-08-2002, 10:32 
 
Mach mal das

<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.

 
Schneggo
02-08-2002, 10:36 
 
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??

 
Wotan
02-08-2002, 10:38 
 
Mach mal zusätzlich eineAusgabe für den $intAbteilung davor:


<?
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>

 
Wotan
02-08-2002, 10:40 
 
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?

 
Schneggo
02-08-2002, 10:41 
 
Nö, haut nicht hin. Bei dem security Level funktioniert es ja auch!?! Warum da und warum hier nicht

 
Schneggo
02-08-2002, 10:43 
 
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

 
Wotan
02-08-2002, 10:44 
 
editiert

 
Schneggo
02-08-2002, 10:45 
 
was????:confused:

 
Wotan
02-08-2002, 10:46 
 
Die beiden Poistings haben sich überschnitten deshalb habe ich meine Antwort gelöscht.

 
Wotan
02-08-2002, 11:04 
 
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.

 
Schneggo
02-08-2002, 11:07 
 
1) KORREKT
2) KORREKT
2.1) KORREKT
2.3) KORREKT

 
Wotan
02-08-2002, 11:12 
 
Also handelt es sich hier um einen Schönheitsfehler.

Bei dem Problem kann ich dir nicht helfen. weil ich es nicht nachvollziehen kann.

Hast du schon nachgeschaut ob alle ' " < > richtig stehen?

 
Schneggo
02-08-2002, 11:15 
 
Richtig. Ich weiß auch nicht, woran es liegt. Eigentlich müsste alles richtig gesetzt sein. Egal, dann mach ich das hald eventuell noch zum Schluss. Trotzdem Danke für deine Hilfe.


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:33 Uhr.