我有這段代碼,並試圖將$bonval
轉換爲mysql插入函數,但它返回null
。我在這裏做錯了什麼?無法找到if/else函數的確切值
<?php
if (!isset($_SESSION['views'])) {
$_SESSION['views'] = 0;
}
$_SESSION['views'] = $_SESSION['views']+1;
$first = mt_rand(10,20);
$second = mt_rand(40,50);
$third = mt_rand(60,70);
if ($_SESSION['views'] == 2 or ($_SESSION['views'] == 5) or ($_SESSION['views'] == 10) or ($_SESSION['views'] == 20) or ($_SESSION['views'] == 50)) {
?>
<div class="popup">
<form role="form" method='post' action='test.php'>
<fieldset>
<h2 class="blink_me" style="color:green;font-size:40px;"><?php if ($_SESSION['views'] == 2) { echo $bonval = $first; } elseif ($_SESSION['views'] == 5) { echo $bonval = $third; } elseif ($_SESSION['views'] == 10) { echo $bonval = $second; } elseif ($_SESSION['views'] == 20) { echo $bonval = $second; } elseif ($_SESSION['views'] == 50) { echo $bonval = $first; } ?></h2>
<div class="form-group">
<center><div class="g-recaptcha" data-sitekey="sitekey"></div></center>
</div>
<div class="row">
<center><input type="submit" name="submit" class="btn btn-lg btn-success btn-block" value="Submit"></center>
</div>
</fieldset>
</form>
</div>
<?php
}
if (isset($_POST['submit'])) {
if(!empty($recaptcha)) {
require("getCurlData.php");
$google_url="https://www.google.com/recaptcha/api/siteverify";
$secret='6LdriBAUAAAAAFTwQuLozpK9V2qsZAA5gTtBV60G';
$ip=$_SERVER['REMOTE_ADDR'];
$url=$google_url."?secret=".$secret."&response=".$recaptcha."&remoteip=".$ip;
$resp=getCurlData($url);
if($resp['success']) {
$db->fetchVal("insert into log (`user_id`,`amount`) values (?,?) ", [$id, $bonval]); }
} else {
$_SESSION['views'] = $_SESSION['views']-1;
}
}
}
?>
我得到這個錯誤:
insert into log (`user_id`,`amount`) values (?,?) Array ([0] => 9 [1] =>) Array ([0] => 23000 [1] => 1048 [2] => Column 'amount' cannot be null) Array ([0] => Array ([file] =>
什麼在此代碼是錯誤的,或者也許有更好的方法來做到這一點?
$ _SESSION ['views']的值是什麼?我也會建議從代碼中刪除您的密鑰。 –
感謝您的重要建議......我不明白您的價值$ SESSION ['views']是什麼意思? – john
看起來bonval並不總是被設置 - 因此它通常是'null',因爲它是單元化的$ SESSIONS的許多值['views'] –