Brauch Hilfe :(

TheNightIsMy

Grünschnabel
Hallo tutorials

Ich hab mal wieder ein Problem :( !
Und der wer das ich für meine Registrierung Seite ein Chack User einbinden will!
So weit so gut!
Bei mir kommt jetzt ein Fehler und ich bekomme ihn nicht weg******

Fehler :
Warning: in_array() expects at least 2 parameters, 1 given in C:\xampp\htdocs\rosenew\system\inc\P91AUC.php on line 12
Frei


Der PHP:CODE
PHP:
<?php
include("config.php");

	if (isset($_GET['usernamecheck'])) {
$usernamecheck = trim(htmlspecialchars($_GET['usernamecheck'], ENT_QUOTES, "UTF-8"));
	// Ihre MySQL-Abfrage oder dergleichen, mein Beispiel: Einfache Array-Abfrage
	$db = mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("Keine Verbindung zum Datenbank.");
	mysql_select_db ($dbname, $db) or die ("Datenbank nicht gefunden.");
	$arraypas  = mysql_query("select username from accounts where username='".$usernamecheck."'") or die(mysql_error());
	
	
	if(!in_array($usernamecheck, $arraypas)){
		echo ' <span style="color:#006600">Frei</span>';
	}else{
		echo ' <span style="color:red">Belegt</span>';
	}
}
?>

Ich würde mich freuen wen mir da mal einer Helfen kann BITTE!
 
Die fehlermeldung bedeutet das 'in_array' zwei parameter benötigt aber nur einer gegeben wurde, ich sehe aber das du zwei drinne hast, hast du schon geprüft ob die beiden Variablen $usernamecheck und $arraypas einen inhalt haben?
 
Also $arraypas ist für die DB verbindung B.z.w. wo er suchen soll!
$usernamecheck ist für die Prüfung ob der Name schon da ist (in der Datenbank) oder schon vorhanden ist!
 
$arraypas ist erst eine Ressource des Resultates von mysql_query, aber kein Array

wenn du daraus ein Array machen willst, dann so:
PHP:
$users = array();
while($row = mysql_fetch_assoc($arraypas)){
    $users[] = $row['username'];
}
if(in_array($usernamecheck, $users)){
    //TODO: Mach was
}

Achja, Bite in Zukunft aussagekräftige Titel zum neuen Threads setzen.
 
Super der Fehler ist weg ,bloß jetzt kommt leider immer wieder, wen ich den Namen der nicht in der Datenbank existiert ,das der Name schon Belegt ist!


Wo ist der Fehler jetzt?

PHP:
<?php
	
	include("config.php");

	if (isset($_GET['usernamecheck'])) {
	$usernamecheck = trim(htmlspecialchars($_GET['usernamecheck'], ENT_QUOTES, "UTF-8"));
	
	// Ihre MySQL-Abfrage oder dergleichen, mein Beispiel: Einfache Array-Abfrage
	
	$db = mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("Keine Verbindung zum Datenbank.");
	mysql_select_db ($dbname, $db) or die ("Datenbank nicht gefunden.");
	$arraypas  = mysql_query("select username from accounts where username='".$usernamecheck."'") or die(mysql_error());
	
	$users = array();
while($row = mysql_fetch_assoc($arraypas)){
    $users[] = $row['username'];
}
if(in_array($usernamecheck, $users)){
		echo ' <span style="color:#006600">Frei</span>';
	}else{
		echo ' <span style="color:red">Belegt</span>';
	}
}
?>

Ich werde beim nesten mal daran denken ! Und Danke für deine super Hilfe ******!
 
Du prüfst mit deinem if(), ob der Name belegt ist. Dann sagst du, dass er frei ist. Merkst du den Fehler?
 
Ja so zu sagen , wen ich nur ein if() nehme geht es aber auch nicht ! Sorry Yaslaw bin noch nicht lange dabei ca seit 2 Jahre !!
Aber danke das du so Hilfsbereit bist!
 
Also, nochmals. Diene Logik im Posting oben ist:

Wenn Name Vorhanden
dann schreibe "Frei"
ansonsten "Besetzt"

Merkst du den Logik-Fehler? Warum gibst du "Frei" aus, wenn der Name vorhanden ist?
Drehe einfach die Logik um.

Richtig:
Wenn Name Vorhanden
dann schreibe "Besetzt"
ansonsten "Frei"
 
Zurück