-4

我一直在为学校做一个项目,我让你搜索一个字符串,它会查询一个数据库并返回该字符串中的所有单词。为此,我必须使用 strtoupper(),如果你有一个全是大写或小写字母的字符串,它就可以正常工作。如果您在搜索中输入 AAB 或 aab,一切都会正常工作,它会返回两个字谜,ABA 和 BAA。但是,如果您输入 aAB,它不会返回任何内容。所以它从输入中获取帖子数据,命名为 alpha,然后按字母顺序排列单词,所以如果你输入 ABA,它会返回 AAB,然后将其变为大写。

<title>Scrabble</title>
<?php
require 'connect.inc.php';
if (isset($_POST['al'])){
    $al=$_POST['al'];
    $al=alpha($al);
    $al=trim(strtoupper($al));
    $query="SELECT * from Words WHERE alpha='$al'";
    if ($query_run = mysql_query($query)){

        while ($query_row = mysql_fetch_assoc($query_run)){
            $alpha = $query_row['alpha'];
            $ana = $query_row['word'];

            echo "<strong>$ana</strong> $alpha<br>";

        }
    }


}
function alpha($word){
    $array=array();
    for($x=0;$x<strlen($word);$x++){
        $char=substr($word,$x,1);
        $array[$x]=$char;


    }
    sort($array);
    $alpha=implode('',$array);
    return $alpha;

}
?>
<form action='scrabble.php' method='POST'>
Enter text to anagram. Please use either all uppercase or all lowercase<input type='text'                   name='al'>
<input type='submit'>
</form>

他的链接在这里 http://newdev.shodor.org/~amalani/newdev/scrabble.php 谢谢

4

1 回答 1

1

多个问题:

PHP 的sort 函数返回一个布尔值来判断它是否成功。在您的代码中,您有:

$array=sort($array);

什么时候应该是:

sort($array);

您在顶部附近有一个语法错误:

$alphagram=trim(strtoupper($al);

应该是:

$alphagram = trim(strtoupper($alphagram));

我还注意到在您的网站上,您使用:

name='al'

然后在脚本中尝试访问 POST 变量alpha。你应该使用:

$_POST['al']
于 2013-02-06T01:40:41.577 回答