ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
627
627
EMPFEHLEN
-
Hallo zusammen,
Ich bin an einem Sessionbasierten Loginsystem, bei dem die verschiedenen Benutzer Rechte zum Zugriff auf Projekte zugewiesen kriegen. Nun möchte ich zwei Arrays deren Daten aus zwei verschiedenen Datenbanktabellen stammen ("userrights" und "project") untereinander vergleichen.
Die übereinstimmenden Daten sollen in einem Checkboxformular als "checked" angezeigt werden, der Rest soll als "unchecked" darunter aufgelistet werden.
Die Variable $username wird von einem Loginformular an folgendes Script weitergegeben:
PHP-Code:
<?php
$verbindung = mysql_pconnect( "localhost", "xxx", "xxx");
mysql_select_db("xxx");
if (!$verbindung)
{
echo "Keine Verbindung zur Datenbank";
exit;
}
//ABFRAGE DER RECHTE
$sqlkommando = "SELECT projectname FROM userrights where username = '$username'";
$result1 = mysql_query ($sqlkommando);
$rechte = mysql_fetch_array ($result1);
//ABFRAGE DER GESAMTEN PROJEKTE
$sqlkommando2 = "SELECT projectname FROM project";
$result2 = mysql_query($sqlkommando2);
$projekte = mysql_fetch_array ($result2);
?>
<b>Der Benutzer "<?php echo"$username"; ?>" hat Zugriffsrechte auf folgende Projekte:</b>
<?php echo"<form method='POST' action='setrights_user.php?username=$username'>"; ?>
<table>
<?php
$ueberschneidung = array_intersect($rechte, $projekte);
$rest = array_diff($rechte, $projekte);
//PROJEKTE IN TABELLE AUSGEBEN
//checked
for($x=0;$x<sizeof($ueberschneidung);$x++){
echo"
<tr>
<td width='22'><input type='checkbox' name='check[]' value='$ueberschneidung[$x]' checked></td>
<td width='21'></td>
<td width='563'>$ueberschneidung[$x]</td>
</tr>";
}
//unchecked
for($y=0;$y<sizeof($rest);$y++){
echo"
<tr>
<td width='22'><input type='checkbox' name='check[]' value='$rest[$y]'></td>
<td width='21'></td>
<td width='563'>$rest[$x]</td>
</tr>";
}
?>
<tr>
<td width="22"></td>
<td width="21"></td>
<td width="563"> <input type="submit" value="Rechte festlegen""></td>
</tr>
</table>
</form>
Kann mir jemand weiterhelfen?
Vielen Dank im Voraus!
Gruss redback79
ps. PHP Version 4
Nachtrag: Mit obigem Script werden lediglich zwei "unchecked" Boxen welche denselben Projektnamen besitzen angezeigt
Geändert von redback79 (18.08.05 um 14:19 Uhr)
...one (st)ring to rule them all!
-
Hi,
verstehe zwar gerade nicht ganz, was du vor hast, aber trotzdem habe ich einen eventuellen Fehler im Skript gefunden:
Und zwar versucht du $rest in deiner zweiten For-Schleife ebenfalls mit $x aufzurufen.
Ich schätze mal, dass du eher $rest[$y] schreiben wolltest. Vielleicht liegt es ja daran...
Ansonsten bitte nochmal genauer erklären, was du möchtest
, danke.
Nachtrag:
Des Weiteren würde dir MySQL bei $result2 nur einen Eintrag in ein Array speichern, da du keine while-Schleife benutzt. Ist es so gewollt?Geändert von shorty (18.08.05 um 15:35 Uhr)
Mit freundlichen Grüßen
Shorty
Ähnliche Themen
-
Checkbox checked überprüfen
Von ropueh im Forum PHPAntworten: 4Letzter Beitrag: 09.03.10, 16:09 -
problem mit checkbox checked
Von gruebel-gruebel im Forum PHPAntworten: 16Letzter Beitrag: 07.10.08, 10:58 -
VB.NET Menuitem checked;unchecked
Von tombo82 im Forum .NET Windows FormsAntworten: 3Letzter Beitrag: 12.09.07, 12:28 -
Checkbox Parameter "checked" durch URL-Aufruf übergeben
Von freemanX im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 14.02.05, 00:00 -
Checkbox nach refresh immernoch checked
Von joky_joky im Forum PHPAntworten: 5Letzter Beitrag: 15.09.04, 13:19





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren