我正在处理的程序应该从输入框中删除破折号、空格等,并将数字显示给用户。
我的 php 代码中出现未定义的变量和未定义的索引错误。错误在第 35 行和第 41 行。我猜这个函数超出了范围,但我不确定。
我用类似的代码制作了阶乘计算器,效果很好。我已经尝试使该代码适应这个问题,但我无法让它工作。我不知道为什么,但我很难理解 php 的工作原理。
谢谢!
<?php
function getCardNum($cardNum) {
$ccNum = true;
if ($_POST) {
$number = $_POST['cardNum'];
$number = preg_replace('/[\-\" "]/', '', $number);
if (is_numeric($number)) {
$ccNum = true;
}
else {
$ccNum = false;
}
return $number;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Card Validator</title>
<link rel="stylesheet" type="text/css" href="common.css" />
</head>
<body>
<h3>Enter your credit card number!:</h3>
<form method="POST">
<table border="0">
<tr>
<td>Enter numeric character only</td>
<td><input type="text" name="cardNum" id="cardNum" size = "50" /></td>
<td>
<?php
if ($cardNum) {
echo '<p style="color:green;">Number is valid</p>';
echo '<p style="color:green;">' . getCardNum($_POST['cardNum']) . '</p>';
}
else {
echo '<p style="color:red;">Number contains non-numeric characters!</p><br />';
echo '<p style="color:red;">' . getCardNum($_POST['cardNum']) . '</p>';
}
?>
</td>
</tr>
<td><input type="submit" name="cardNum" id="cardNum" value="Submit" /></td>
<td><input type="reset" name="resetButton" id="resetButton" value="Reset" /></td>
</tr>
</table>
</form>
</body>
</html>