2013-03-22 3 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 다시 오시겠습니까? 말하자면, 당신의 질문을 바꿔 줄 수 있겠습니까? –

+0

"당신이 특정 숫자에 이르는 한 등록 만 할 수 있습니다"라고 조금 더 자세히 설명해 주시겠습니까? –

+0

그는 등록 할 수있는 최대 인원을 16 명으로 제한 할 수있는 방법을 묻습니다. –

답변

0

이다 쿼리 실행

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

가 그런 다음 'num_users' 열을 가져 오는 등을;

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

사용자에게 적절한 텍스트를 표시하고 스크립트를 종료하거나 사용자를 적절한 미안 페이지로 리디렉션합니다.

+0

당신은 나에게 내가 아직 그 좋은 것을 말하지 않고 단지 그 스크립트를 끝내기를 원한다면이 양식을 가진 나의 스크립트에 대한 예제를 줄 수있다. – user2197948

+0

잘 포기하기 전에 내 마지막 시도 ... 아무도 나를 위해 스크립트를 psot 할 수 없다. 16의 한계와 함께. 그래서 어쨌든 그것을 붙여 넣을 복사 할 수 있습니다. – user2197948

0

다음 단계를 따르십시오.

1) 제한을 정의하여 하나의 변수를 취하십시오. 나는 사용자 표

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

3)에 대한

$limitData = 16 

2) 질의을 NUM_ROWS 이미 등록 얼마나 많은 알려줍니다이 $. 새 데이터를 삽입하기위한 마지막 단계, 하나의 조건을 넣어야합니다.

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

그래도 고마워요하지만 여전히 쿼리에 문제가 있고 코드를 넣어. 그냥 누군가가 내 스크립트를 붙여 넣기를 복사 할 수 있도록 제한 16로 게시 할 수 있습니다. 메신저처럼 꽤 바보 같고 질수있어. 누군가 시간을 할애하면 좋을 것입니다. thx alot – user2197948

+0

데이터를 추가하려는 테이블의 세부 정보를 입력하고 데이터 세부 정보를 게시하십시오. 내가 당신에게 데이터를 삽입 문자열을 줄 것이다 – Napster

+0

글쎄, 그 스크립트는 괜찮아요 atm에 데이터를 추가하고 싶지 않아하지만 최대 16 등록을 설정합니다. 전체 스크립트 위에 서 있거나 더 많은 smoething 필요합니까? – user2197948