[請益] 無法透過 PHP 將 EMAIL 存進 MariaDB

作者: HwangTW (谷歌翻譯王)   2016-06-05 17:19:38
註冊頁:
<?php
header('Content-Type:text/html;charset=utf8');?>
<body>
<form name="form" method="post" action="newuser.php" align="center">
帳號:<input type="varchar" name="id"/> <br>
密碼:<input type="password" name="pw"/> <br>
再輸入一次密碼:<input type="password" name="pw2"/> <br>
E-MAIL:<input type="text" name="email" size="32"/> <br>
信用卡結帳日:<select name="default_day">
<?php for($i=1;$i<=31;$i++){
if ($i < 10){ ?>
<option value="<?php echo "0",$i?>"><?php echo
"0",$i;?></option>
<?php } else { ?>
<option value="<?php echo $i?>"><?php echo $i;?></option>
<?php } ?>
<?php }?>
</select>
<p></p>
<?php $uid= substr(md5(uniqid(rand(), true)), 10);?>
<input type="submit" name="button" value="註冊" align="center"
onclick="<?php $_SESSION['uid'] = $uid; ?>" />
</form>
</body>
newuser.php:
<?php
header('Content-Type:text/html;charset=utf8');
require_once 'function.php';
$function = new Fuction;
if ($_SESSION != NULL){
require_once 'Connect.php';
$pdo = new Connect;
$id = filter_input(INPUT_POST,'id');
$pw = filter_input(INPUT_POST,'pw');
$pw2 = filter_input(INPUT_POST,'pw2');
$email = filter_input(INPUT_POST,'email');
echo $email;
$default_day = filter_input(INPUT_POST,'default_day');
/*省略*/
$sql1 = "INSERT INTO `users`
(`username`,`userpassword`,EMAIL,`default_day`) VALUES
('$username','$userpassword','{$email}','$default_day')";
$register = $pdo->prepare($sql1);
$register->execute();
$reg = $register->fetch();
經嘗試後 可以正常 echo 出 EMAIL
且在phpmyadmin下insert指令email也存得進去
可是透過網頁就是寫不進去SQL(用phpmyadmin看其他欄位都有寫入,唯獨EMAIL沒寫到)
有沒有甚麼辦法可以解決這問題QQ
我找到問題了 結果都不是SQL那邊的問題
而是我前面再寫偵測空值的部分唯獨EMAIL少打了一個等於
if ($id == "" || $pw == "" || $pw2 == "" || $email="")
難怪email死都不給我寫進去....
而我還是在後面多加了一個偵測才發現這裡少打了一個等於
if ($id == "" || $pw == "" || $pw2 == "" || $email=="" || $default_day=="00")
作者: weiclin (CC)   2016-06-05 17:29:00
你是不是誤會 prepare 的用法了...
作者: tkdmaf (皮皮快跑)   2016-06-05 21:41:00
你這樣……{$email}…完全就沒有prepare的必要性了……
作者: weiclin (CC)   2016-06-05 22:00:00
作者: MOONRAKER (㊣牛鶴鰻毛人)   2016-06-06 09:54:00
看不懂就模仿阿 不用懂也可以模仿http://php.net/manual/en/pdo.prepare.php 自己看一看php.net的範例總不會看不懂了吧

Links booklink

Contact Us: admin [ a t ] ucptt.com