我正在摆弄一个域名检查器教程,想知道是否有人可以帮助我

时间:2013-01-06 10:27:56

标签: php ajax dns

我现在已经摆弄了几个小时,http://www.jqueryrain.com/?Om7fqYxi并且我有点卡住了,我想手动搜索每个.com,.net,.org和.me,所以它输入,选择菜单,提交,并根据从下拉列表中选择的域显示结果。

这是表单布局的粗略副本:

<form method="post">
<input type="text" autocomplete="off" id="Search" name="domain"><select name="trd">
<option>.com</option>
<option>.net</option>
<option>.org</option>
<option>.me</option>
</select><input type="submit" id="Submit" value="Submit"></form>

所以,基本上,本教程创建了一个域查找工具,但它一次查找所有域,我希望它只返回所选选项的值。

process.php文件位于链接http://www.jqueryrain.com/?Om7fqYxi

的下载中

2 个答案:

答案 0 :(得分:1)

在教程中是:

$.post('process.php?domain=' + escape($('#Search').val()),{ // ...

其中一种可能性是添加到所选选项的上述url值:

$.post('process.php?domain=' + escape($('#Search').val()) + '&trd=' + $('select[name=trd]').val(),{ // ...

然后在PHP脚本中,您可以从$_GET['trd']变量中读取此值。

-

如果您想阅读trd中的$_POST值,可以使用:

$.post('process.php?domain=' + escape($('#Search').val()), {'trd': $('select[name=trd]').val()},{ //...
然后看看@Michel Feldheim回答

答案 1 :(得分:0)

我会做这样的事情:

<强> 1。在数组中定义可能的.TLD

$possibleTLD = array (
    '.org',
    '.com',
    '.net'
);

<强> 2。使用此选项输出下拉列表

<form action="" method="post">
    <input type="text" name="domain" />
    <select name="tld">
        <?php foreach ( $possibleTLD as $tld ): ?>
            <option value="<?php echo $tld; ?>"><?php echo $tld; ?></option>
        <?php endforeach; ?>
    </select>
    <input type="submit" name="submit" value="lookup" />
</form>

注意:在示例表单选项中没有值属性。此值是必需的,因为它是在您提交表单时发送的。标签之间的文本只是浏览器的显示字符串。

第3。提交表单后检查并处理值

if ( !empty( $_POST['tld'] ) ) {
    // check tld against our possible values
    if ( !in_array( $_POST['tld'], $possibleTLD ) {
        die( 'not a valid TLD' );
    }

    // check domain name, the regex will need some work
    if ( !preg_match ( '/^[a-z][a-z0-9üöä]+$/U', $_POST['domain'] ) ) {
        die( 'not a valid domain' );
    }

    $cleanDomain = strtolower ( $_POST['domain'] ) . $_POST['tld'];

    // the lookup and result output

}