1

エラーが発生しました。私の登録フォームでは、スペースを含まない「ユーザー名」だけでよいのに、「ユーザー名」など、スペースを含むユーザー名を登録できます。

多くのチュートリアルを検索して読んでみましたが、ほとんどのチュートリアルはまったく役に立ちません。

誰かが私を実際のチュートリアルに向けて正しい方向に向けたり、私が間違ったことを教えてくれませんか.

私はスペースを削除しようとしましたが、私はそれを行う方法が100%ではありません。

しかし、ここで私がやったことは...

登録ページ

<?
session_start();
include("config.php");
include("clean.php");
$act = clean($_GET[act]); 
$sqlcontent = mysql_query("select * from usr_config");
$content = mysql_fetch_array($sqlcontent);
$rand = rand(0,999);
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="css.css" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Usersystem Register Page &bull; <? echo("$content[site]");?></title>
</head>

<body>
    <tr>
      <? if($content[regen]==1) { 
      if($act!=register)
      { ?>
      <form action="register_new.php?act=register" method="post">
        <div align="center">Username:<br />
            <input type="text" name="username" class="login" maxlength="20" />
          <br />
          <br />
          Password:<br />
          <input type="password" name="password" />
          <br />
          <br />
          Email Address:<br />
          <input type="text" name="email" />
          <br />
          <br />
    Country:<br />
        <SELECT name="countrywhere">
    <option value="Afghanistan">Afghanistan</option>
    <option value="&#197;land&nbsp;Islands">&#197;land Islands</option>
    <option value="Albania">Albania</option>
    <option value="Algeria">Algeria</option>
    <option value="American&nbsp;Samoa">American Samoa</option>
    <option value="Andorra">Andorra</option>
    <option value="Angola">Angola</option>
    <option value="Anguilla">Anguilla</option>
    <option value="Antarctica">Antarctica</option>
    <option value="Antigua&nbsp;and&nbsp;Barbuda">Antigua and Barbuda</option>
    <option value="Argentina">Argentina</option>
    <option value="Armenia">Armenia</option>
    <option value="Aruba">Aruba</option>
    <option value="Australia">Australia</option>
    <option value="Austria">Austria</option>
    <option value="Azerbaijan">Azerbaijan</option>
    <option value="Bahamas">Bahamas</option>
    <option value="Bahrain">Bahrain</option>
    <option value="Bangladesh">Bangladesh</option>
    <option value="Barbados">Barbados</option>
    <option value="Belarus">Belarus</option>
    <option value="Belgium">Belgium</option>
    <option value="Belize">Belize</option>
    <option value="Benin">Benin</option>
    <option value="Bermuda">Bermuda</option>
    <option value="Bhutan">Bhutan</option>
    <option value="Bolivia">Bolivia</option>
    <option value="Bosnia&nbsp;and&nbsp;Herzegovina">Bosnia and Herzegovina</option>
    <option value="Botswana">Botswana</option>
    <option value="Bouvet&nbsp;Island">Bouvet Island</option>
    <option value="Brazil">Brazil</option>
    <option value="British&nbsp;Indian&nbsp;Ocean&nbsp;Territory">British Indian Ocean Territory</option>
    <option value="Brunei&nbsp;Darussalam">Brunei Darussalam</option>
    <option value="Bulgaria">Bulgaria</option>
    <option value="Burkina&nbsp;Faso">Burkina Faso</option>
    <option value="Burundi">Burundi</option>
    <option value="Cambodia">Cambodia</option>
    <option value="Cameroon">Cameroon</option>
    <option value="Canada">Canada</option>
    <option value="Cape&nbsp;Verde">Cape Verde</option>
    <option value="Cayman&nbsp;Islands">Cayman Islands</option>
    <option value="Central&nbsp;African&nbsp;Republic">Central African Republic</option>
    <option value="Chad">Chad</option>
    <option value="Chile">Chile</option>
    <option value="China">China</option>
    <option value="Christmas&nbsp;Island">Christmas Island</option>
    <option value="Cocos&nbsp;(Keeling)&nbsp;Islands">Cocos (Keeling) Islands</option>
    <option value="Colombia">Colombia</option>
    <option value="Comoros">Comoros</option>
    <option value="Congo">Congo</option>
    <option value="Congo,&nbsp;The&nbsp;Democratic&nbsp;Republic&nbsp;of&nbsp;the">Congo, The Democratic Republic of the</option>
    <option value="Cook&nbsp;Islands">Cook Islands</option>
    <option value="Costa&nbsp;Rica">Costa Rica</option>
    <option value="C&#244;te&nbsp;d'Ivoire">C&#244;te d'Ivoire</option>
    <option value="Croatia">Croatia</option>
    <option value="Cuba">Cuba</option>
    <option value="Cyprus">Cyprus</option>
    <option value="Czech&nbsp;Republic">Czech Republic</option>
    <option value="Denmark">Denmark</option>
    <option value="Djibouti">Djibouti</option>
    <option value="Dominica">Dominica</option>
    <option value="Dominican&nbsp;Republic">Dominican Republic</option>
    <option value="Ecuador">Ecuador</option>
    <option value="Egypt">Egypt</option>
    <option value="El&nbsp;Salvador">El Salvador</option>
    <option value="Equatorial&nbsp;Guinea">Equatorial Guinea</option>
    <option value="Eritrea">Eritrea</option>
    <option value="Estonia">Estonia</option>
    <option value="Ethiopia">Ethiopia</option>
    <option value="Falkland&nbsp;Islands&nbsp;(Malvinas)">Falkland Islands (Malvinas)</option>
    <option value="Faroe&nbsp;Islands">Faroe Islands</option>
    <option value="Fiji">Fiji</option>
    <option value="Finland">Finland</option>
    <option value="France">France</option>
    <option value="French&nbsp;Guiana">French Guiana</option>
    <option value="French&nbsp;Polynesia">French Polynesia</option>
    <option value="French&nbsp;Southern&nbsp;Territories">French Southern Territories</option>
    <option value="Gabon">Gabon</option>
    <option value="Gambia">Gambia</option>
    <option value="Georgia">Georgia</option>
    <option value="Germany">Germany</option>
    <option value="Ghana">Ghana</option>
    <option value="Gibraltar">Gibraltar</option>
    <option value="Greece">Greece</option>
    <option value="Greenland">Greenland</option>
    <option value="Grenada">Grenada</option>
    <option value="Guadeloupe">Guadeloupe</option>
    <option value="Guam">Guam</option>
    <option value="Guatemala">Guatemala</option>
    <option value="Guinea">Guinea</option>
    <option value="Guinea-Bissau">Guinea-Bissau</option>
    <option value="Guyana">Guyana</option>
    <option value="Haiti">Haiti</option>
    <option value="Heard&nbsp;Island&nbsp;and&nbsp;McDonald&nbsp;Islands">Heard Island and McDonald Islands</option>
    <option value="Holy&nbsp;See&nbsp;(Vatican&nbsp;City&nbsp;State)">Holy See (Vatican City State)</option>
    <option value="Honduras">Honduras</option>
    <option value="Hong&nbsp;Kong">Hong Kong</option>
    <option value="Hungary">Hungary</option>
    <option value="Iceland">Iceland</option>
    <option value="India">India</option>
    <option value="Indonesia">Indonesia</option>
    <option value="Iran,&nbsp;Islamic&nbsp;Republic&nbsp;of">Iran, Islamic Republic of</option>
    <option value="Iraq">Iraq</option>
    <option value="Ireland">Ireland</option>
    <option value="Israel">Israel</option>
    <option value="Italy">Italy</option>
    <option value="Jamaica">Jamaica</option>
    <option value="Japan">Japan</option>
    <option value="Jordan">Jordan</option>
    <option value="Kazakhstan">Kazakhstan</option>
    <option value="Kenya">Kenya</option>
    <option value="Kiribati">Kiribati</option>
    <option value="Korea,&nbsp;Democratic&nbsp;People's&nbsp;Republic&nbsp;of">Korea, Democratic People's Republic of</option>
    <option value="Korea,&nbsp;Republic&nbsp;of">Korea, Republic of</option>
    <option value="Kuwait">Kuwait</option>
    <option value="Kyrgyzstan">Kyrgyzstan</option>
    <option value="Lao&nbsp;People's&nbsp;Democratic&nbsp;Republic">Lao People's Democratic Republic</option>
    <option value="Latvia">Latvia</option>
    <option value="Lebanon">Lebanon</option>
    <option value="Lesotho">Lesotho</option>
    <option value="Liberia">Liberia</option>
    <option value="Libyan&nbsp;Arab&nbsp;Jamahiriya">Libyan Arab Jamahiriya</option>
    <option value="Liechtenstein">Liechtenstein</option>
    <option value="Lithuania">Lithuania</option>
    <option value="Luxembourg">Luxembourg</option>
    <option value="Macau">Macau</option>
    <option value="Macedonia">Macedonia</option>
    <option value="Madagascar">Madagascar</option>
    <option value="Malawi">Malawi</option>
    <option value="Malaysia">Malaysia</option>
    <option value="Maldives">Maldives</option>
    <option value="Mali">Mali</option>
    <option value="Malta">Malta</option>
    <option value="Marshall&nbsp;Islands">Marshall Islands</option>
    <option value="Martinique">Martinique</option>
    <option value="Mauritania">Mauritania</option>
    <option value="Mauritius">Mauritius</option>
    <option value="Mayotte">Mayotte</option>
    <option value="Mexico">Mexico</option>
    <option value="Micronesia,&nbsp;Federated&nbsp;States&nbsp;of">Micronesia, Federated States of</option>
    <option value="Moldova,&nbsp;Republic&nbsp;of">Moldova, Republic of</option>
    <option value="Monaco">Monaco</option>
    <option value="Mongolia">Mongolia</option>
    <option value="Montserrat">Montserrat</option>
    <option value="Morocco">Morocco</option>
    <option value="Mozambique">Mozambique</option>
    <option value="Myanmar">Myanmar</option>
    <option value="Namibia">Namibia</option>
    <option value="Nauru">Nauru</option>
    <option value="Nepal">Nepal</option>
    <option value="Netherlands">Netherlands</option>
    <option value="Netherlands&nbsp;Antilles">Netherlands Antilles</option>
    <option value="New&nbsp;Caledonia">New Caledonia</option>
    <option value="New&nbsp;Zealand">New Zealand</option>
    <option value="Nicaragua">Nicaragua</option>
    <option value="Niger">Niger</option>
    <option value="Nigeria">Nigeria</option>
    <option value="Niue">Niue</option>
    <option value="Norfolk&nbsp;Island">Norfolk Island</option>
    <option value="Northern&nbsp;Mariana&nbsp;Islands">Northern Mariana Islands</option>
    <option value="Norway">Norway</option>
    <option value="Oman">Oman</option>
    <option value="Pakistan">Pakistan</option>
    <option value="Palau">Palau</option>
    <option value="Palestinian&nbsp;Territory,&nbsp;Occupied">Palestinian Territory, Occupied</option>
    <option value="Panama">Panama</option>
    <option value="Papua&nbsp;New&nbsp;Guinea">Papua New Guinea</option>
    <option value="Paraguay">Paraguay</option>
    <option value="Peru">Peru</option>
    <option value="Philippines">Philippines</option>
    <option value="Pitcairn">Pitcairn</option>
    <option value="Poland">Poland</option>
    <option value="Portugal">Portugal</option>
    <option value="Puerto&nbsp;Rico">Puerto Rico</option>
    <option value="Qatar">Qatar</option>
    <option value="R&#233;union">R&#233;union</option>
    <option value="Romania">Romania</option>
    <option value="Russian&nbsp;Federation">Russian Federation</option>
    <option value="Rwanda">Rwanda</option>
    <option value="Saint&nbsp;Helena">Saint Helena</option>
    <option value="Saint&nbsp;Kitts&nbsp;and&nbsp;Nevis">Saint Kitts and Nevis</option>
    <option value="Saint&nbsp;Lucia">Saint Lucia</option>
    <option value="Saint&nbsp;Pierre&nbsp;and&nbsp;Miquelon">Saint Pierre and Miquelon</option>
    <option value="Saint&nbsp;Vincent&nbsp;and&nbsp;the&nbsp;Grenadines">Saint Vincent and the Grenadines</option>
    <option value="Samoa">Samoa</option>
    <option value="San&nbsp;Marino">San Marino</option>
    <option value="Sao&nbsp;Tome&nbsp;and&nbsp;Principe">Sao Tome and Principe</option>
    <option value="Saudi&nbsp;Arabia">Saudi Arabia</option>
    <option value="Senegal">Senegal</option>
    <option value="Serbia&nbsp;and&nbsp;Montenegro">Serbia and Montenegro</option>
    <option value="Seychelles">Seychelles</option>
    <option value="Sierra&nbsp;Leone">Sierra Leone</option>
    <option value="Singapore">Singapore</option>
    <option value="Slovakia">Slovakia</option>
    <option value="Slovenia">Slovenia</option>
    <option value="Solomon&nbsp;Islands">Solomon Islands</option>
    <option value="Somalia">Somalia</option>
    <option value="South&nbsp;Africa">South Africa</option>
    <option value="Spain">Spain</option>
    <option value="Sri&nbsp;Lanka">Sri Lanka</option>
    <option value="Sudan">Sudan</option>
    <option value="Suriname">Suriname</option>
    <option value="Svalbard&nbsp;and&nbsp;Jan&nbsp;Mayen">Svalbard and Jan Mayen</option>
    <option value="Swaziland">Swaziland</option>
    <option value="Sweden">Sweden</option>
    <option value="Switzerland">Switzerland</option>
    <option value="Syrian&nbsp;Arab&nbsp;Republic">Syrian Arab Republic</option>
    <option value="Taiwan,&nbsp;Province&nbsp;of&nbsp;China">Taiwan, Province of China</option>
    <option value="Tajikistan">Tajikistan</option>
    <option value="Tanzania,&nbsp;United&nbsp;Republic&nbsp;of">Tanzania, United Republic of</option>
    <option value="Thailand">Thailand</option>
    <option value="Timor-Leste">Timor-Leste</option>
    <option value="Togo">Togo</option>
    <option value="Tokelau">Tokelau</option>
    <option value="Tonga">Tonga</option>
    <option value="Trinidad&nbsp;and&nbsp;Tobago">Trinidad and Tobago</option>
    <option value="Tunisia">Tunisia</option>
    <option value="Turkey">Turkey</option>
    <option value="Turkmenistan">Turkmenistan</option>
    <option value="Turks&nbsp;and&nbsp;Caicos&nbsp;Islands">Turks and Caicos Islands</option>
    <option value="Tuvalu">Tuvalu</option>
    <option value="Uganda">Uganda</option>
    <option value="Ukraine">Ukraine</option>
    <option value="United&nbsp;Arab&nbsp;Emirates">United Arab Emirates</option>
    <option value="United&nbsp;Kingdom">United Kingdom</option>
    <option value="United&nbsp;States">United States</option>
    <option value="United&nbsp;States&nbsp;Minor&nbsp;Outlying&nbsp;Islands">United States Minor Outlying Islands</option>
    <option value="Uruguay">Uruguay</option>
    <option value="Uzbekistan">Uzbekistan</option>
    <option value="Vanuatu">Vanuatu</option>
    <option value="Venezuela">Venezuela</option>
    <option value="Viet&nbsp;Nam">Viet Nam</option>
    <option value="Virgin&nbsp;Islands,&nbsp;British">Virgin Islands, British</option>
    <option value="Virgin&nbsp;Islands,&nbsp;U.S.">Virgin Islands, U.S.</option>
    <option value="Wallis&nbsp;and&nbsp;Futuna">Wallis and Futuna</option>
    <option value="Western&nbsp;Sahara">Western Sahara</option>
    <option value="Yemen">Yemen</option>
    <option value="Zambia">Zambia</option>
    <option value="Zimbabwe">Zimbabwe</option>
        </SELECT>
          <br />
          <br />
          Username Colour:<br />
          <select name="usercolour">
        <OPTION value="#000000">Black</OPTION>
        <OPTION value="#FF0000">Red</OPTION>
        <OPTION value="#00FF00">Green</OPTION>
        <OPTION value="#0000FF">Blue</OPTION>
        <OPTION value="#FFFF00">Yellow</OPTION>
        <OPTION value="#FF00FF">Pink</OPTION>
        <OPTION value="#C0C0C0">Grey</OPTION>
        <OPTION value="#FF6600">Orange</OPTION>
        <OPTION value="#990066">Purple</OPTION>
        <OPTION value="#4682B4">Steelblue</OPTION>
        <OPTION value="#DDA0DD">Plum</OPTION>
        <OPTION value="#AFEEEE">Paleturquoise</OPTION>
        <OPTION value="#D87093">Palevioletred</OPTION>
        <OPTION value="#191970">Midnightblue</OPTION>
        <OPTION value="#8A2BE2">Blue Violet</OPTION>
        <OPTION value="#7FFF00">Chartreuse</OPTION>
        <OPTION value="#DC143C">Crimson</OPTION>
        <OPTION value="#008B8B">Dark Cyan</OPTION>
        <OPTION value="#8B0000">Dark Red</OPTION>
        <OPTION value="#FF1493">Deep Pink</OPTION>
          </select>
          <br />
          <br />
          Gender:<br />
         <SELECT name="sexmalefemale">
         <OPTION value="Boy">Boy</OPTION>
         <OPTION value="Girl">Girl</OPTION>
         </SELECT>
          <br />
          <br />
    About Yourself:<br />
        <textarea name="abouturself" cols=30 rows=5 wrap=physical></textarea>
          <br />
          <br />
          <input type="hidden" name="random" value="<? echo("$rand");?>" />
          Special word<br />
          <input type="text" name="word" />
          <input type="hidden" name="dateofjoin" value="<? print(Date("F d, Y")); ?>" />
          <input type="hidden" name="msg" value="Welcome" />
          <br />
          <br />
          Enter the number shown below<br />
          <strong><? echo("$rand");?></strong><br />
          <input type="text" name="rand" />
    <input type="hidden" name="lastedited" value="Registered an account @ <?php 

/** 
 * Just add this in your page where you 
 * want the date/time to appear 
 * 
 * For more configuration options look 
 * in the PHP manual at http://uk2.php.net/date 
 */ 

// Displays in the format Saturday, November 22, 2003 11.38 
echo date("l, F d, Y h:i" ,time()); 

?> " />
          <br />
          <br />
          <input type="submit" value="Register" />
            </div>
      </form>
      <? 
      }
      if($act==register)
      {
          $username = clean($_POST[username]);
          $username = str_replace (" ", "", $username);
          $msg = clean($_POST[msg]);
          $subject = "Welcome";
          $sendto = $username;
          $sentfrom = "admin";
          $user = "$username";
          $reason = "joining the site";
          $badge = "member.png";
          $display = "1";
          $privmsg = $msg;
      $password2 = clean($_POST[password]);
      $password = md5($_POST[password]);
      $email = clean($_POST[email]);
      $countrywhere = clean($_POST[countrywhere]);
      $avator = clean($_POST[avator]);
      $sexmalefemale = clean($_POST[sexmalefemale]);
      $usercolour = clean($_POST[usercolour]);
      $abouturself = clean($_POST[abouturself]);
      $rand = clean($_POST[rand]);
      $lastedited = clean($_POST[lastedited]);
      $random = $_POST[random];
      $word = clean($_POST[word]);
      $dateofjoin = clean($_POST[dateofjoin]);
      $check = mysql_query("select * from usr_users where username = '$username'");
      $check2 = mysql_num_rows($check);
      if($check2==0)
      {
      if($username!="" && $password!="")
      {
      if($rand==$random)
      {
          $qry = mysql_query("insert into usr_pm(subject, sendto, sentfrom, privmsg) values('$subject', '$sendto', '$sentfrom', '$privmsg')");
          $result = @mysql_query($qry);
      $gry2 = mysql_query("insert into usr_users(username, password, word, dateofjoin, email, countrywhere, avator, sexmalefemale, usercolour, abouturself, lastedited) values('$username', '$password', '$word', '$dateofjoin', '$email', '$countrywhere', '$avator', '$sexmalefemale', '$usercolour', '$abouturself', '$lastedited')");
          $result = @mysql_query($qry2);
          $qry3 = mysql_query("insert into usr_badge(user, reason, badge, display) values('$user', '$reason', '$badge', '$display')");
          $result = @mysql_query($qry3);
      echo("You are now signed up to our site!");
      if($content[emailvert]==1)
      {
      $emailbody = "Thanks for registering at the $content[site] usersystem! \n \n We'd like to take this chance to confirm all of your details, just so you know how to log in and get the most out of your experience! \n \n --- \n username: $username \n Password: $password2 \n Your secret code: $sec \n Your secret word: $word \n \n -- \n \n Thanks, \n $content[site] Management --";
     $mail =  mail($email,"Welcome to the $content[site] usersystem!", $emailbody, "From: <$content[email]>");
     if(!$mail)
     echo("<br />Could not send the email at this time, please check you filled out the previous page completely and try again..");
     else echo("<br /></br></br><b>Please go to the email you provided to us and confirm your account, after 1 week we will suspend your account if you do not confirm.</b>");
      }
      }
      else echo("The number you entered did not match that displayed!");
      }
      else echo("You have not entered filled out all the required fields, you need to do so in order to continue..");
      }
      else
      echo("username is already in use!");
      }
      ?>
      <? }
      else echo("Register disabled"); ?>

clean.php (ストリップスペースを意味します)

<?php
function clean($str)
{
$cleaned = strip_tags(htmlspecialchars(addslashes(stripslashes( $str ))));

return $cleaned;
}
?>

機能

/*
Clean Variables
*/
function clean($str)
{
$cleaned = strip_tags(htmlspecialchars(addslashes(stripslashes( $str ))));
return $cleaned;
}
/*
End Function
*/

ありがとう!

4

5 に答える 5

3
$str = str_replace(" ", "", $str);

すべてのスペースを削除します。

さらに、私の PHP は少し錆びていstripslashesますが、逆のことaddslashesはしません。

于 2012-06-26T23:37:43.813 に答える
1

したがって、探しているのは「フォームの検証」です。

有効なものの概念を確認しない限り、入力を受け入れたくありません。

検証を確認できるレベルは 2 つあります。1 つはクライアント側 (javascript を使用) で、もう 1 つはサーバー側です。

クライアント側では、jQuery フォーム検証プラグインのようなものを使用できます。

http://docs.jquery.com/Plugins/Validation

サーバー側では、substr_count() 関数を使用できます。

http://www.php.net/manual/en/function.substr-count.php

于 2012-06-26T23:49:11.333 に答える
1

スペースだけの場合は、str_replace を使用します

$string = str_replace(' ', '', $string);

すべての空白には、preg_replace を使用します

$string = preg_replace('/\s+/', '', $string);
于 2014-07-19T05:01:48.173 に答える
1

str_replace(' ', '', $string) を実行します。これは「ユーザー名」を取得し、ユーザー名を返します。ユーザーに実行させたくない場合を除き、php で実行するのが最も簡単です。次に、javascript を使用します。

function checkform(){
  var username = $('form[name = username]').val()
  var re =  /\s/g;
  if(re.test(username)){
   alert("You can't have a space") 
   return false;
   }
  }

説明するには: まず、ユーザー名の入力値を取得し、それを変数に入れます。次に、ユーザー名をテストして、スペース /s が含まれているかどうかを確認します。スペースがある場合は、警告します。var re は、test メソッドを使用して文字列内のスペースをチェックします。Return False は、フォームの送信を停止します。あなたは次のようになります

<form onsubmit="checkfrom()">

それはそれを説明するのに役立ちますか。記憶で作っているので違うかもしれません。

于 2012-06-26T23:52:17.957 に答える
0

関数トリムが機能するはずです。:)

于 2012-06-26T23:38:38.547 に答える