PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Array-Elemente mit SQL Abfrage vergleichen


stracko163
09.06.2009, 16:27:49
Hi,

wollte letztens mal eine Art Blacklist schreiben, also sollte Leuten, die in einer SQL-Tabelle stehen, nur eine leere Seite angezeigt werden, dafür muss ich allerdings die abgefragten Benutzernamen aus der SQL-Datenbank mit dem vergleichen, der gerade online ist. Habe den Benutzernamen in ein Array gepackt und die Benutzernamen aus der Datenbank auch.

Meine Frage lautet nun:
Wie kann ich die beiden Arrays miteinander "abgleichen"? Also das der Quellcode (Hab ich über eine if-Bedingung geregelt) nur dann angezeigt wird wenn der jetzige Benutzername NICHT unter den abgefragten zu finden ist?

Quasi fehlt mir im Moment dieser Teil:

if (BEDINGUNG???) {
MEIN QUELLCODE
}

Gruß
stracko163

Indyk
09.06.2009, 16:34:15
Hallo stracko163, ich mach es kurz, aber den hinweis auf die grundlagen die du dir selbst beibringen solltest lasse ich nicht aus ( ;

$username = 'mephisto';
$backlist = array('herbert', 'spacko', 'thor', 'mephisto', 'abraham');
if(!in_array($username, $blacklist)
{
// wird ausgeführt wenn der username NICHT im array ist
}else
{
echo 'du bist zu böse für uns';
}


ich rate dir allerdings diesen weg rückwerts zu gehen

if(in_array($username, $blacklist))
{
die('du bist RAUS'); // danach stirbt das script!!!
}else
{
// für user die du noch nicht gesperrt hast
}


alles ungetestet

stracko163
09.06.2009, 19:11:22
Hallo!

Danke für die schnelle Antwort. Werde das dann mal ausprobieren, recht herzlichen Dank.

Gruß
stracko163

cortex
10.06.2009, 10:22:08
warum nicht einfacher - nach die( ) ist sowieso schluss:


if( in_array( $username , $blacklist ) )
{
die( 'du bist RAUS' );
}

// für user die du noch nicht gesperrt hast



cx

Indyk
10.06.2009, 10:30:28
warum nicht noch einfacher:

if(in_array($username, $blacklist))
die('du bist RAUS'); // danach stirbt das script!!!



Bitte verzichten Sie nie auf Klammern, auch wenn diese syntaktisch vielleicht gerade nicht notwendig sind.
EDIT
Bevor es falsch verstanden wird, ich bin der Meinung das cortex verbesserungsvorschlag sinnvoll ist und mein "vorschlag" nicht. Ich wollte nur "vorgreifen"

cortex
10.06.2009, 10:41:44
Bevor es falsch verstanden wird [...]

versteh' dich schon .-

cx

cortex
10.06.2009, 10:45:07
im übrigen wollte ich nicht auf den minimalismus bei der zeichensetzung hinaus... mir gings eher darum, dass der else-teil schlichtweg unnötig ist. durch das weglassen der else-klammerung wird die lesbarkeit des codes verbessert - zumindest aus meiner perspektive; ist möglicherweise geschmacksache .-

cx