2

所以这是我的代码,到目前为止,表单接受各种输入(字符串和整数)。例如,我如何指定:如果$_POST['a']是字母,则设置$_SESSION['a']为 0 ?

截至目前,如果我将一封信传递给表格,$_SESSION当我点击“更新”时,这封信仍然会被传递并被记录下来。我需要它忽略并将表单中的字母设置为 0。

index.php 是同一个文件

谢谢!

<?php
session_start();
if ( isset($_POST["a"]) && isset($_POST["b"]) && isset($_POST["c"]) ) {
    $_SESSION['a'] = $_POST['a'];
    $_SESSION['b'] = $_POST['b'];
    $_SESSION['c'] = $_POST['c'];
    header( 'Location: index.php' ) ;
    return;
}
?>

// ( some code... )

$a = isset($_SESSION['a']) ? $_SESSION['a'] : '0';
$b = isset($_SESSION['b']) ? $_SESSION['b'] : '0';
$c = isset($_SESSION['c']) ? $_SESSION['c'] : '0';   

// ( some code...)

<form method="post">
    <p><input type="text" name="a" size="3" value="<?php echo(htmlentities($a)); ?>"> A </p>
    <p><input type="text" name="b" size="3" value="<?php echo(htmlentities($b)); ?>"> B </p>
    <p><input type="text" name="c" size="3" value="<?php echo(htmlentities($c)); ?>"> C </p>
    <p><input type="submit" value="Update">
</form>
4

1 回答 1

3

我通常使用ctype_*函数来确定 PHP 字符串中的字符类型。在这种情况下,ctype_alpha

if (ctype_alpha($_POST['a'])) { 
    $_SESSION['a'] = 0;
}
于 2013-02-11T20:34:06.073 回答