如果与会话匹配,则PHP保存数组值

时间:2018-08-28 10:02:04

标签: php

我有一个“输入”提交表单,我希望如果用户输入的数字与我的array value相匹配,则卡片品牌将保存到下一个站点的PHP会话中。

<?php    
    $submitbutton= $_POST['btnLogin'];    
    $number= $_POST['Kreditkartennummer'];

    function validatecard($number)
    {
        global $type;

        $cardtype = array(
            "visa"       => "/^4[0-9]{12}(?:[0-9]{3})?$/",
            "mastercard" => "/^5[1-5][0-9]{14}$/",
            "amex"       => "/^3[47][0-9]{13}$/",
            "discover"   => "/^6(?:011|5[0-9]{2})[0-9]{12}$/",
        );

        if (preg_match($cardtype['visa'],$number))
        {
            $type= "visa";
            return 'visa';          
        }
        else if (preg_match($cardtype['mastercard'],$number))
        {
            $type= "mastercard";
            return 'mastercard';
        }
        else if (preg_match($cardtype['amex'],$number))
        {
            $type= "amex";
            return 'amex';          
        }
        else if (preg_match($cardtype['discover'],$number))
        {
            $type= "discover";
            return 'discover';
        }
        else
        {
            return false;
        } 
    }    
    validatecard($number);    
?>

现在的问题可以与我的代码一起使用吗?还是需要"If Submit"? 另一个问题是如何回显return并将其保存到我的PHP Session中?

1 个答案:

答案 0 :(得分:0)

要将某些内容保存到会话变量中,只需声明它即可。

$_SESSION['card_type'] = $_POST['card_type'];

例如,假设这是您的表格。这只是一个例子。

<form type="POST">
<input type="text" name="card_type">
<input type="submit" value="submit my form">
</form>

在此表单中,您有一个名为card_type的输入,提交后,您可以像这样从输入中获取值。

    if(isset($_POST['card_type'])) {
    $_SESSION['card_type'] = $_POST['card_type']; //you are taking the post and making a session variable.
}

我知道这只能解释您问题的最后一部分,而我只是不明白第一部分。

edit ..我还想指出,您不只是希望在没有某种类型的验证的情况下接受用户输入。检查是否有帖子后,输入验证码。