$eventnameentered= $_GET['eventnameentered'];
$eventnameentered= strtolower($eventnameentered);
$eventindatabase=file('eventname.txt');
if(in_array($eventnameentered,$eventindatabase)){
echo 'Entered Event Name '.$eventnameentered.' Is Already Taken';
}else if($eventnameentered==''){
echo 'Please Enter Name Of New Event';
}
else
{
echo 'Event Name '.$eventnameentered.' Is Available ';
}
的event.txt
gaming
coding
project
我正在使用AJAX。一切都运转正常,我只需要一些关于这个阵列的帮助。
我想比较用户提供的eventname
和eventname
中已存在的event.txt
不要发生冲突。所以我想在数组中event.txt
。我将其与in_array
进行比较,如上面的代码所示,但即使我在event.tx
中插入事件,也会显示Event name Available
。我甚至尝试使用get_file_contents
。
答案 0 :(得分:2)
空格导致if
条件失败。你需要先trim
这个空格。
$eventindatabase = file('eventname.txt');
$eventindatabase = array_map('trim', $eventindatabase);
以下是修剪空白之前和之后var_dump($eventindatabase)
的输出:
在:
array(3) {
[0]=>
string(7) "gaming
"
[1]=>
string(7) "coding
"
[2]=>
string(7) "project"
}
之后:
array(3) {
[0]=>
string(6) "gaming"
[1]=>
string(6) "coding"
[2]=>
string(7) "project"
}
如您所见,前两个元素不同,这将导致以下条件评估为FALSE
,从而触发else
语句:
if(in_array($eventnameentered,$eventindatabase))
希望这有帮助!