Anmelde Code der Prüft obs den Namen schon gibt.

ArFiBa

Erfahrenes Mitglied
Hallo Leute,
hab mal wieder eine Frage!
Ich möchte den Besuchern meiner Seite die Möglichkeit geben sich zu registrieren. So weit so einfach. Kleines Form und schon ist alles gut. Jetzt möcht ich allerdings nicht, dass sich mehrere User mit demselben Nickname registrieren. Ihr kenn das sicher aus jeder Commuinty. Wenn man nen Username haben will den es schon gib, bekommt man die Meldung das der Name schon vergeben ist und man einen anderen wählen muss.
Und genau das will ich auch haben. Nur wie?
 
Hoffentlich arbeitest du mit einer Datenbank im Hintergrund, denn damit ist es kein Problem zu überprüfen, ob ein Mitglied mit einem bestimmten Namen bereits existiert.
Sende einfach eine Abfrage mit der Bedingung, dass nur Datensätze mit dem eingegebenen Namen als Benutzername ausgewählt werden sollen, und frage anschließend die Anzahl der Datensätze ab oder ermittle sie.
 
Hi, das einfachste waehre:
<?
$query = "select from table where name == $_GET['name']";
$result = mysql_query($query);
if ($result)
echo 'Dieser Username ist besetzt';
else {
//register
}
 
Natürlich hab ich ne Datenbank dahinter. Und das mit der Abfrage war mir auch klar ich weiß nur nicht wie!
 
Probier mal folgendes:
Code:
<?php
	[…]
	$query = "
		SELECT
		        1
		  FROM
		        `<Tabelle>`
		  WHERE
		        `<Spalten>` = '<Wert>'
		";
	$result = mysql_query($query);
	if( mysql_num_rows() >= 1 ) {
		// Benutzername existiert bereits
	}
	[…]
?>
 
Hab den Cod jetzt so geändert, aber jetz gehts garnicht mehr

PHP:
<?php
mysql_select_db($database_db, $db);
$query_name_check = "SELECT user_name FROM `user` WHERE user_name = $_POST['user_name']";
$name_check = mysql_query($query_name_check, $db) or die(mysql_error());
$row_name_check = mysql_fetch_assoc($name_check);
$totalRows_name_check = mysql_num_rows($name_check);
	$result = mysql_query($query);
	if( mysql_num_rows() >= 1 ) {
		<?php echo Name schon vergeben // Benutzername existiert bereits
	}
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO user (user_name, user_pw, user_mail) VALUES (%s, %s, %s)",
                       GetSQLValueString($_POST['user_name'], "text"),
                       GetSQLValueString($_POST['user_pw'], "text"),
                       GetSQLValueString($_POST['user_mail'], "text"));

  mysql_select_db($database_db, $db);
  $Result1 = mysql_query($insertSQL, $db) or die(mysql_error());

  $insertGoTo = "user_newok.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}


?>
 
Ich hab mir den Code jetzt nicht wirklich angschaut, aber

PHP:
if( mysql_num_rows() >= 1 ) { 
        <?php echo Name schon vergeben // Benutzername existiert bereits 
    }

das "<?php" dürfte etwas stören ;-)

Gruss
 

Neue Beiträge

Zurück