将PHP POST数据用于移动设备是否存在已知问题?

时间:2014-09-18 16:58:30

标签: php android ios html-form html-form-post

我有一个自我处理的PHP表单。它通过POST传递数据。在桌面浏览器上完美运行,但在适用于Android,Safari或Chrome for iOS和iOS模拟器的Chrome上无效。为了简洁起见,我将分享此文件中无法正常工作的部分,因为正在进行相当多的验证。

以下是我的HTML表单输入的开头:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

<div class="voucher-input first-input">
Voucher 1: <input maxlength="20" type="text" name="voucher1" id="voucher1" title="Voucher" class="input" value="<?php echo $voucher1;?>">

以下是我的表单“action”的接收部分,用于捕获POST数据:

$voucher1 = test_input($_POST["voucher1"]);

当它捕获此凭证1时,会将其传递以进行表单验证。第一步是删除空格和非法字符,然后确保凭证的前缀是有效的3个字母前缀(在这种情况下我使用的是STL)。如果它通过了,那么就会遇到将它添加到PHP数组的麻烦。

$stl = 'STL'; // Defines a string that is needed for the next step

$posstl = strpos($voucher1, $stl); // Checks if 'STL' is at beginning of $voucher1 input. All vouchers must start with an authorized prefix.

    if ($posstl === 0) { // If STL is at the beginning of position 0 of string


    /** Create Empty Voucher Array **/
    $redeemids = array();

    echo "Adding voucher to array";
    array_push($redeemids, $voucher1);
    print_r($redeemids);}

在台式机上,它可以完成所有这些工作。在移动设备上,它甚至没有回应“向阵列添加凭证”,它告诉我它正在失败移动设备的IF条件。因此,为了消除变量,这种POST方法对移动设备不起作用,我的表单HTML无效或者我的条件有问题。有什么想法吗?

0 个答案:

没有答案