2013-03-22 87 views
-1

我真的对以下问题感到绝望: 我想为这个脚本注册一个限制(16)。那么当我尝试和搜查我放弃了!谁知道如何设置这个只需简单地编辑脚本,以便我可以复制粘贴它。PHP Mysql最大寄存器大小?

这里是脚本

<?php 
$error_message = ""; 
if ($_SERVER['REQUEST_METHOD'] == 'POST') 
{ 
    $action = isset($_POST['action']) ? $_POST['action'] : ''; 
    $mysql_server = 'X'; 
    $mysql_username = 'X'; 
    $mysql_password = 'X'; 
    $mysql_database = 'X'; 
    $mysql_table = 'LOL'; 

    $success_page = 'X'; 
    if ($action == 'signup') 
    { 
     $newusername = $_POST['username']; 
     $newemail = $_POST['email']; 
     $newpassword = $_POST['password']; 
     $confirmpassword = $_POST['confirmpassword']; 
     $newfullname = $_POST['fullname']; 
     if ($newpassword != $confirmpassword) 
     { 
     $error_message = 'Password and Confirm Password are not the same!'; 
     } 
     else 
     if (!ereg("^[[email protected]$]{1,50}$", $newusername)) 
     { 
     $error_message = 'Team name is not valid, please check and try again!'; 
     } 
     else 
     if (!ereg("^[[email protected]$]{1,50}$", $newpassword)) 
     { 
     $error_message = 'Password is not valid, please check and try again!'; 
     } 
     else 
     if (!ereg("^[email protected]+\..+$", $newemail)) 
     { 
     $error_message = 'Email is not a valid email address. Please check and try again.'; 
     } 
     $db = mysql_connect($mysql_server, $mysql_username, $mysql_password); 
     mysql_select_db($mysql_database, $db); 
     $sql = "SELECT username FROM ".$mysql_table." WHERE username = '".$newusername."'"; 
     $result = mysql_query($sql, $db); 
     if ($data = mysql_fetch_array($result)) 
     { 
     list($username, $password, $email, $fullname) = explode('|', trim($line)); 
     if ($newusername == $username) 
     { 
      $error_message = 'Team name already used. Please select another username.'; 
     } 
     } 
     if (empty($error_message)) 
     { 
     $crypt_pass = md5($newpassword); 
     $sql = "INSERT `".$mysql_table."` (`username`, `password`, `fullname`, `email`, `active`) VALUES ('$newusername', '$crypt_pass', '$newfullname', '$newemail', 1)"; 
     $result = mysql_query($sql, $db); 
     mysql_close($db); 
     $mailto = $newemail; 
     $subject = 'X'; 
     $message = 'X'; 
     $message .= "\r\nX"; 
     $message .= "\r\n "; 
     $message .= "\r\nTeam name for the upcoming tournament: "; 
     $message .= $newusername; 
     $message .= "\r\nYour password: "; 
     $message .= $newpassword; 
     $message .= "\r\n "; 
     $message .= "\r\n "; 
     $message .= "\r\nX"; 
     $message .= "\r\nX"; 
     $header = "From: X"."\r\n"; 
     $header .= "Reply-To: X"."\r\n"; 
     $header .= "MIME-Version: 1.0"."\r\n"; 
     $header .= "Content-Type: text/plain; charset=utf-8"."\r\n"; 
     $header .= "Content-Transfer-Encoding: 8bit"."\r\n"; 
     $header .= "X-Mailer: PHP v".phpversion(); 
     mail($mailto, $subject, $message, $header); 
     header('Location: '.$success_page); 
     exit; 
     } 
    } 
} 
?> 
+2

Errmmmmm再来一次?那就是说你能否重新提出你的问题;无法真正了解预期结果和故障线 – 2013-03-22 06:02:41

+0

“只有当您达到某个数字时才能注册”,您能否详细说明一下? – 2013-03-22 06:04:22

+0

他问他如何限制它最多可以注册16人。 – 2013-03-22 06:12:06

回答

0

做任何形式的验证的用户之前,运行查询:

SELECT COUNT(*) AS 'num_users' FROM users_table; 

然后取“num_users'柱,和;

if ($row['num_users'] >= $max_users) 

然后向用户显示相应的文字和退出脚本(或将用户重定向到一些合适的遗憾页)。

+0

你可以给我一个我的脚本与这种形式的例子,因为我说我不是那么好,但我真的只想完成该脚本 – user2197948 2013-03-22 09:12:13

+0

这就是我最后一次尝试之前,我放弃了......任何人都可以psot剧本为我16的限制,所以我可以复制粘贴thx – user2197948 2013-03-22 16:13:25

0

遵循以下步骤:

1)采取与定义限制一个变量。 我把

$limitData = 16 

2)查询用户表

$result = mysql_query("SELECT * FROM USERS"); 
$num_rows = mysql_num_rows($result); 

3)这$ NUM_ROWS将让你知道有多少已经注册。 现在是插入新数据的最后一步,您必须输入一个条件

if($limitData > $num_rows) 
{ 
    //put your insert query in this section 
} 
+0

好的谢谢你,但仍然我有问题的查询和放在代码中。可以只是简单地发布我的脚本与极限16,以便我可以复制粘贴它。看起来像我很笨,不能让它工作。如果有人花时间去做,那将会很棒。 thx很多 – user2197948 2013-03-22 12:52:10

+0

给我你的表中你想添加数据的细节也发布数据的详细信息。我会给你插入数据的字符串 – Napster 2013-03-22 13:11:19

+0

以及我不想给脚本添加数据它的工作很好atm,但只设置登记的最大值为16.作为完整的脚本站在上面或你需要smoething更多? – user2197948 2013-03-22 13:33:20