使用文本输入作为php变量

使用文本输入作为php变量,php,html,types,input,hyperlink,Php,Html,Types,Input,Hyperlink,我希望我的php代码处理文本输入,并说明它是否是有效域。唯一不起作用的是将输入链接到php。也许您想要这样的东西: <input type="text" onkeydown="domaincheck()" /> <?php function domaincheck() { $recordexists = checkdnsrr("", "ANY"); if ($recordexists) echo "The domain

我希望我的php代码处理文本输入,并说明它是否是有效域。唯一不起作用的是将输入链接到php。

也许您想要这样的东西:

<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!";
   }
?>
<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!";
  }
}

?>

您必须使用opensrs api集成进行域名搜索。因此,您可以获得域名列表,如果用户输入的域名与现有域名匹配,您可以说域名可用,或者说这个新域名不是PHP的工作方式。你犯了一个常见的思维错误,很多初学者都会犯这个错误,因为你似乎认为像Javascript这样的语言可以以这种方式与PHP这样的语言交互。这是由于对和/或模型的误解

当您使用浏览器(客户端)请求网页时,您的请求将由web服务器(服务器)处理,然后返回响应,基本上如下所示:

<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!";
   }
?>
<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!";
  }
}

?>
换句话说:客户机和服务器是两个完全分离的进程,它们只根据请求/响应原则相互通信

对于客户端版本PHP-GTK,PHP不能在客户端保存上执行,我们在这里不讨论,对于服务器端版本Javascript,Javascript不能在服务器端保存上执行,我们在这里不讨论。因此,客户端无法调用PHP函数domaincheck,服务器也无法接收Javascript调用

因此,如果您不想再次请求一个完整的网页,而只需要一个Javascipt函数请求并接收一个PHP函数的输出,那么您必须让Javascipt在“后台”再次向服务器发出另一个请求,这意味着:在不完全替换浏览器中的整个网页的情况下,让PHP再次创建响应,这一次是Javascript可以处理的输出。这通常称为异步JavaScript和XML。尽管响应不必是XML。回答是很常见的。HTML片段甚至完整的HTML页面也是可能的


在不久的将来,我可能会为您添加一个示例。

您必须使用Ajax与服务器通信您正在将JavaScript onkeydown与PHP domaincheck混合使用。您希望使用JavaScript对服务器执行查询。你没怎么查这个,是吗…?@变形者为什么不应该查?这只是一个简单的误会,而不是不顾一切地问。。。