PHP与表单和刷新/存储数据有关的问题
作为对PHP的第一次尝试,我决定尝试制作一个基本的刽子手游戏。我已经完成了我的大部分逻辑,但是在解决如何获取用户输入并使用它时遇到了重大问题 理想情况下,我希望有一个带有提交按钮的文本框。我想验证输入,以确保只输入了小写输入,然后假设一切正常,然后将字母输入将显示在提交表单下方的数组中 基本上,我希望用户输入直接指向我的函数,而不会完全刷新页面并丢失所有数据。这有什么办法吗?我一直在浏览这个网站,人们似乎只推荐ajax/jquery和sessions,作为初学者,所有这些看起来都非常复杂,很难学习。我在这个网站上尝试了很多推荐的东西,但我就是不能完全理解它。我只想要一些非常基本的功能,因为这是我学习和理解PHP的早期阶段PHP与表单和刷新/存储数据有关的问题,php,forms,validation,session,Php,Forms,Validation,Session,作为对PHP的第一次尝试,我决定尝试制作一个基本的刽子手游戏。我已经完成了我的大部分逻辑,但是在解决如何获取用户输入并使用它时遇到了重大问题 理想情况下,我希望有一个带有提交按钮的文本框。我想验证输入,以确保只输入了小写输入,然后假设一切正常,然后将字母输入将显示在提交表单下方的数组中 基本上,我希望用户输入直接指向我的函数,而不会完全刷新页面并丢失所有数据。这有什么办法吗?我一直在浏览这个网站,人们似乎只推荐ajax/jquery和sessions,作为初学者,所有这些看起来都非常复杂,很难学
<?php
function comparison()
{
$theWord ="test";
$theSplit = str_split($theWord);
$currentWord = array();
$lettersGuessed = array();
$guessAttempts = 7;
$score = 0;
print_r($theSplit)."<br>";
for($i=0;$i<count($theSplit);$i++)
{
$currentWord[$i] = "_";
}
print_r($currentWord)."<br>";
$userLetter = "o";
if (ctype_lower($userLetter))
{
echo "The user-submitted letter is lowercase. Niceness!<br>";
}
else
{
echo "Invalid submission pigeon-face. Only lowercase letters please muches.<br>";
}
if(strpos($theWord,$userLetter) !== false)
{
echo "This word contains the letter ".$userLetter."<br>";
$score++;
}
else
{
echo "This word does not contain the letter ".$userLetter."<br>";
$guessAttempts--;
}
$start = 0;
while(($pos = strpos($theWord, $userLetter, $start)) !== false)
{
$start = $pos + 1;
$currentWord[$pos] = $userLetter;
}
foreach ($currentWord as $letter)
{
echo $letter." ";
}
array_push($lettersGuessed,$userLetter);
//print_r($lettersGuessed);
print_r($score);
print_r($guessAttempts);
}
?>
这是我在游戏中使用的粗略的主要逻辑,但显然我希望让用户提交的字母代替我的$userLetter变量的手动赋值。稍后我还将编写一个单词生成器
这段代码虽然显然相当基本,但它完成了我认为游戏需要完成的大部分工作,我只想让submit工作起来,并且在解决问题时不会破坏单词的显示/数组等等
我意识到这是一个措辞有点拙劣的问题,但我希望人们能够理解我问题的本质,并愿意帮助解决一个问题
提前感谢您可以在表单提交时调用Javascript函数,并使用该函数进行验证 见这个问题: 验证逻辑看起来非常简单,因此您应该能够编写一个JavaScript函数来检查表单数据,然后在检查出的情况下执行完整的post。JavaScript函数还可以操纵页面以显示错误等 如果需要在服务器端进行验证,则需要使用AJAX进行另一次调用,或者重新加载整个页面