我在论坛和其他网站上做了一些关于这个问题的研究,但我似乎无法解决它。
我的代码中一个函数的目标是为现有用户添加5个声望点数,如果用户不存在,则创建一个声望值为“1”的新用户。用户将在表单中输入用户名和ID号码,然后该信息将被发送到我的PHP脚本。该功能使用该信息来实现它的魔力,但输出结果是错误的。
我得到的是一个声望值为“6”的新用户。我省略了一些与此问题无关的脚本。
任何帮助或建议将不胜感激。
以下是我的输出结果:当我点击提交时(我输入的用户为“Alec”,ID为“5”),第四个表格就是我所得到的。提前感谢您!
编辑:当我提交一个已在数组中的用户时,会发生什么情况。我想要的结果是,用户的Karma分数简单地增加5分。
我的代码中一个函数的目标是为现有用户添加5个声望点数,如果用户不存在,则创建一个声望值为“1”的新用户。用户将在表单中输入用户名和ID号码,然后该信息将被发送到我的PHP脚本。该功能使用该信息来实现它的魔力,但输出结果是错误的。
我得到的是一个声望值为“6”的新用户。我省略了一些与此问题无关的脚本。
任何帮助或建议将不胜感激。
<html>
<head></head>
<body>
<div align="center">
<?php
// Array begin
$karma_score = array( array("Userid" => 1, "NameID" => 'Doe', "Karma" => 45, "LastLogin" => "2012-08-30"),
array("Userid" => 2, "NameID" => 'Smith', "Karma" => 123, "LastLogin" => "2012-09-02"),
array("Userid" => 3, "NameID" => 'Chan', "Karma" => 1, "LastLogin" => "2011-12-23"),
array("Userid" => 4, "NameID" => 'Zee', "Karma" => 15, "LastLogin" => "2012-07-01"));
// Counter for amount of users
$counter = count($karma_score);
// Function to print general array
function printArray($a){
echo '<table border="1px">';
echo '<tr>';
foreach(array_keys($a[0]) as $head){
echo '<th>'.$head.'</th>';
}
echo '</tr>';
foreach($a as $b) {
echo '<tr>';
echo '<td>'.$b['Userid'].'</td>';
echo '<td>'.$b['NameID'].'</td>';
echo '<td>'.$b['Karma'].'</td>';
echo '<td>'.$b['LastLogin'].'</td>';
echo '</tr>';
}
echo '</table>';
}
echo '<br>';
function findInfo()
{
global $karma_score;
$counter = count($karma_score);
foreach ($karma_score as $key => $b) {
if ($b['NameID'] === $_POST['name'])
$karma_score[$key]["Karma"] += 5;
else
$karma_score[$counter+1] = array("Userid" => $_POST['id'], "NameID" => $_POST['name'], "Karma" => 1, "LastLogin" => date("Y-m-d"));
}
echo "<br> Here is your updated table.";
printArray($karma_score);
}
if (isset($_POST['submit'])) {
findInfo();
}
?>
<br>
Please enter name and id. If name exists, add 5. If not, add user.
<form action="" method="POST">
Name: <input type="text" name="name" placeholder="Enter Name Here">
ID: <input type="text" name="id" placeholder="Enter ID #">
<input type="submit" name="submit">
</div>
</body>
</html>
以下是我的输出结果:当我点击提交时(我输入的用户为“Alec”,ID为“5”),第四个表格就是我所得到的。提前感谢您!
编辑:当我提交一个已在数组中的用户时,会发生什么情况。我想要的结果是,用户的Karma分数简单地增加5分。