1
<input type="text" onkeydown="domaincheck()" />

<?php
   function domaincheck()
   {
      $recordexists = checkdnsrr("", "ANY");
      if ($recordexists) 
         echo "The domain name has been taken. Sorry!";
      else 
         echo "The domain name is available!";
   }
?>

PHPコードでテキスト入力を処理し、それが有効なドメインかどうかを判断したい. うまくいかないのは、入力をphpにリンクすることだけです。

4

3 に答える 3

0

多分あなたはこのようなものが欲しいでしょう:

<form name="Form" method="post" action="">
  <input type="text" name="DomainName" />
  <input type="submit" name="submit" value="Domain Name" />
</form>

<?php
if ( isset( $_POST[ 'submit' ] ) ) {
  $DomainName = $_POST[ 'DomainName' ];
  domaincheck( $DomainName );
}

/**
 * @param $DomainName
 */
function domaincheck( $DomainName ) {
    if (checkdnsrr( $DomainName, "ANY" ) ) {;
    echo "The domain \"$DomainName\" has been taken. Sorry!";
  }
  else {
    echo "The domain \"$DomainName\" is available!";
  }
}

?>
于 2012-11-22T04:36:22.783 に答える
0

ドメイン名の検索には、opensrsapi統合を使用する必要があります。ドメイン名のリストを取得し、ユーザーが入力したドメイン名が既存のドメイン名と一致する場合は、「ドメイン名は利用可能です」または「この新しいドメイン」と言うことができます。

于 2012-11-22T04:42:55.267 に答える
0

それはPHPの仕組みではありません。Javascript のようなクライアント側言語が、PHP などのサーバー側言語とこのように対話できると考えているように見えるという点で、多くの初心者が犯す一般的な思考エラーを犯しています。これは、クライアント/サーバーおよび/または要求/応答モデルの誤解によるものです。

ブラウザー (クライアント) で Web ページを要求すると、要求は Web サーバー (サーバー) によって処理され、基本的に次のような応答が返されます。

   Client (browser)             Server (webserver)
---------------------------------------------------
   Send page request   ----->    Parse request
                                 (execute PHP)

                                       |
                                      \|/

Parse HTML response     <-----   Send HTML response
   (and execute                  (there will be no
    Javascript,                   more PHP code in
  if that was part                 this response)
  of the response)

つまり、クライアントとサーバーは完全に分離された 2 つのプロセスであり、要求/応答の原則に基づいてのみ相互に通信します。

PHP はクライアント側で実行できません (クライアント側バージョンの PHP-GTK を除いて、ここでは説明しません)。Javascript はサーバー側で実行できません (Javascript のサーバー側バージョンを保存します。ここでは議論しません)。そのため、クライアントは PHP 関数domaincheckを呼び出すことができず、サーバーは Javascript 呼び出しを受信しません。

そのため、完全な Web ページを再度要求するのではなく、単に Javascipt 関数を要求して PHP 関数の出力を受け取るだけの場合は、Javascipt にサーバーへの別の要求を再度行わせる必要があります ('inつまり、ブラウザのページ全体を完全に置き換えることなく)、PHP に再度応答を作成させます。今回は、Javascript が処理できる出力を使用します。これは通常、AJAX (Asynchronous JavaScript and XML) として知られています。ただし、応答は XML である必要はありません。JSON応答は非常に一般的です。HTML のフラグメント (または完全な HTML ページ) も可能です。

近いうちに例を追加する予定です。

于 2012-11-22T04:52:43.583 に答える