PHP与表单和刷新/存储数据有关的问题

PHP与表单和刷新/存储数据有关的问题,php,forms,validation,session,Php,Forms,Validation,Session,作为对PHP的第一次尝试,我决定尝试制作一个基本的刽子手游戏。我已经完成了我的大部分逻辑,但是在解决如何获取用户输入并使用它时遇到了重大问题 理想情况下,我希望有一个带有提交按钮的文本框。我想验证输入,以确保只输入了小写输入,然后假设一切正常,然后将字母输入将显示在提交表单下方的数组中 基本上,我希望用户输入直接指向我的函数,而不会完全刷新页面并丢失所有数据。这有什么办法吗?我一直在浏览这个网站,人们似乎只推荐ajax/jquery和sessions,作为初学者,所有这些看起来都非常复杂,很难学

作为对PHP的第一次尝试,我决定尝试制作一个基本的刽子手游戏。我已经完成了我的大部分逻辑,但是在解决如何获取用户输入并使用它时遇到了重大问题

理想情况下,我希望有一个带有提交按钮的文本框。我想验证输入,以确保只输入了小写输入,然后假设一切正常,然后将字母输入将显示在提交表单下方的数组中

基本上,我希望用户输入直接指向我的函数,而不会完全刷新页面并丢失所有数据。这有什么办法吗?我一直在浏览这个网站,人们似乎只推荐ajax/jquery和sessions,作为初学者,所有这些看起来都非常复杂,很难学习。我在这个网站上尝试了很多推荐的东西,但我就是不能完全理解它。我只想要一些非常基本的功能,因为这是我学习和理解PHP的早期阶段

<?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进行另一次调用,或者重新加载整个页面