Едновременно създаване на няколко потребителя

djpatzo

Registered
Как ще стане примерно отварям форма за добавяне на потребител и съответно въвеждам данните и ако примерно има селект бокс от където да избера броя на потребителите и да се добавят със същите данни, но примерно ако е избрана цифра 3 да създаде 3 потребителя в MySQL само потребителските имена да станат съответно. 1-во въведено примерно djpatzo и до третия потребител да станат съответно djpatzo2 djpatzo3 и стават общо 3 потребителя.

Благодаря предварително.
 
Става въпрос след избора примерно да се добавя запис в базата данни. То можеше и вътре във for да се сложи някак си заявката, че да се изпълни съответно.
 
Явно пак не мога да те разбера ?
То дали ще е echo или mysql_query() - няма значение.
 
Нещо не мога да го докарам. Проблема е че вмъквам в няколко таблици данните. Ето го кода за заявките който ползвам.
Код:
for($i = 1;$i <= addslashes($_POST['n_users']);$i++) {
    if(!isset($invalid)) {
	$e_month = date('n', mktime(0, 0, 0, $n_month + 1, 1, $year));
	$e_year = date('Y', mktime(0, 0, 0, $n_month + 1, 1, $year));
	$query['userinfo'] = "INSERT INTO userinfo VALUES('".addslashes($_POST['username']).(($i == 1) ? '' : $i)."',
	'". addslashes($_POST['name']). "', '". addslashes($_POST['mail']). "',
	'". addslashes($_POST['address']). "', '". addslashes($_POST['phone']). "',
	'". addslashes($_POST['mobile']). "', $_POST[usernumb],". time(). ", 2)";
	$query['firminfo'] = "INSERT INTO firminfo VALUES('".addslashes($_POST['username']).(($i == 1) ? '' : $i)."', '',
	'". addslashes($_POST['name']). "', '', '". addslashes($_POST['address']). "',
	'". addslashes($_POST['phone']). "', '". addslashes($_POST['mobile']). "', '', '')";
	$query['acc_history'] = "INSERT INTO acc_history VALUES('".addslashes($_POST['username']).(($i == 1) ? '' : $i)."',
	$month, $year, $_POST[toa], 0, 0)";
	$query['n_acc_history'] = "INSERT INTO acc_history VALUES('".addslashes($_POST['username']).(($i == 1) ? '' : $i)."',
	$n_month, $n_year, $_POST[toa], 0, 0)";
	$query['e_acc_history'] = "INSERT INTO acc_history VALUES('".addslashes($_POST['username']).(($i == 1) ? '' : $i)."',
	$e_month, $e_year, $_POST[toa], 0, 0)";
	$query['accounts'] = "INSERT INTO accounts VALUES('".addslashes($_POST['username']).(($i == 1) ? '' : $i)."',
	'$_POST[location]', 'P', 'W', '0', '1', '', '$_SESSION[login]', '0', '0')";
	$query['radcheck_pass'] = "INSERT INTO radcheck VALUES('', '".addslashes($_POST['username']).(($i == 1) ? '' : $i)."',
	'Password', '==', '". addslashes($_POST['password']). "')";
	$query['radcheck_exp'] = "INSERT INTO radcheck VALUES('', '".addslashes($_POST['username']).(($i == 1) ? '' : $i)."',
	'Expiration', ':=', '$_POST[exp]')";
	$query['radreply'] = "INSERT INTO radreply VALUES('', '".addslashes($_POST['username']).(($i == 1) ? '' : $i)."',
	'Framed-IP-Address', ':=', '$_POST[ip]')";
	$query['usergroup'] = "INSERT INTO usergroup VALUES('', '".addslashes($_POST['username']).(($i == 1) ? '' : $i)."', 'pppoe', '1')";
	db_connect();
	foreach(array_keys($query) as $table) {
	    if(!mysql_query($query[$table])) {
		echo($query[$table]. '<BR>'. mysql_error(). "<BR>\n");
		$error = TRUE;
	    }
	}
	if(!isset($error)) {
	    $query = "INSERT INTO log VALUES('', '".addslashes($_POST['username']).(($i == 1) ? '' : $i)."',
	    '$_GET[action]', '', '', '',". time(). ", '$_SERVER[REMOTE_ADDR]', '$_SESSION[login]')";
	    mysql_query($query);
	    echo('<FONT COLOR="'. $cl_main_text. '">Потребителят <FONT COLOR="'. $cl_main_hl. '">'.
	         addslashes($_POST['username']).(($i == 1) ? '' : $i). "</FONT> е успешно добавен.</FONT>\n");
	}
	mysql_close();
    }
}

Ако съм отбелязал примерно 2 потребителя да създаде ми дава следната грешка.
Warning: array_keys() [function.array-keys]: The first argument should be an array in /home/rad/htdocs/modules/new_user.php on line 107

Line 107 от кода който дадох е
Код:
foreach(array_keys($query) as $table) {
	    if(!mysql_query($query[$table])) {
		echo($query[$table]. '<BR>'. mysql_error(). "<BR>\n");
		$error = TRUE;
	    }
	}
 
принтвай ,докато намериш къде точно се дъни.
В момента ти показва ,че арея ти $query е празен o.O
 

Back
Горе