-3

私はすでに試しましたが、nodbodyが助けてくれたので、もう一度試してみます。このスクリプトに登録したい人のために、制限を 16 に設定したいと思います。だれかが MY スクリプトを編集してここに投稿してください。コピーして貼り付けることができます。コーディングがかなり苦手なので、試してみると常にエラーが発生する前にplz誰かが単に私のコードをlimt 16で投稿してください。

ここにスクリプトがあります

<?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("^[A-Za-z0-9_!@$]{1,50}$", $newusername))
      {
         $error_message = 'Team name is not valid, please check and try again!';
      }
      else
      if (!ereg("^[A-Za-z0-9_!@$]{1,50}$", $newpassword))
      {
         $error_message = 'Password is not valid, please check and try again!';
      }
      else
      if (!ereg("^.+@.+\..+$", $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;
      }
   }
}
?>
4

3 に答える 3

1

スクリプトを複雑にする理由.ユーザーが追加するたびに単純なカウンターを使用して1を追加し、16になったら追加するスクリプトを停止するだけです

例 :

if(counter != 16)
{
 if (empty($error_message))
      {
     $counter++;
     $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;
   }
 }

else
 {
   echo "not inserted";
 }
于 2013-03-23T09:48:52.050 に答える
0

ユーザー数の制限を設定する場合は、以下のコードを記述します。

$sql = "select count(*) as tot from $mysql_table";
    $rs = mysql_query($sql);
    $row = mysql_fetch_assoc($rs);
    $counter = $row['tot'];


if(counter != 16)
{
 if (empty($error_message))
      {
     $counter++;
     $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;
   }
 }

else
 {
   echo "not inserted";
 }
于 2013-03-23T10:06:20.950 に答える
0
<?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("^[A-Za-z0-9_!@$]{1,50}$", $newusername))
      {
         $error_message = 'Team name is not valid, please check and try again!';
      }
      else
      if (!ereg("^[A-Za-z0-9_!@$]{1,50}$", $newpassword))
      {
         $error_message = 'Password is not valid, please check and try again!';
      }
      else
      if (!ereg("^.+@.+\..+$", $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.';
         }
          $count=mysql_num_rows($result);
         if ($count == 16)
         {
            $error_message = 'Team Member exceeds 16';
         }

      }
      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;
      }
   }
}
?>
于 2013-03-23T09:35:16.600 に答える