2012年2月5日 星期日

PHP-極簡單之接收POST的資料&Insert到mysql資料表



 db_conn.php
<?php
$link=mysql_connect("localhost","root","root") or die ("連線失敗");
mysql_select_db("guestboard");
mysql_set_charset('utf8',$link);
?>
index.php
<html>
<body>
<form name="form1" method="POST" action="process.php">
帳號<input type="text" name="username" size="30"/><br/>
密碼<input type="text" name="password"size="30"/>
<input type="submit" value="送出"/>
<input type="reset" value="提交"/>
</form>
</body>
</html>
process.php
<?php
include ("db_conn.php");
$username = $_POST["username"];
$password = $_POST["password"];
$sql="INSERT INTO user (username, password) VALUES ('$username','$password')";
$result=mysql_query($sql);
echo $username;
echo $password;
?>


<script>
alert ("申請成功!");
</script>


PHP網頁處理:
GET POST 各有好處
若表單沒有設定method,則預設為GET
使用POST傳送表單,則接收的變數為$_POST
表單一定要包含在<body>標籤裡否則會傳送空值到資料庫。(有時候只會記得打html與form標籤卻忘了body標籤)
不論是$_GET或是$_POST都是超全域變數。


接收表單方式:
POST
$_POST[“欄位名稱”];
GET
$_GET[“欄位名稱”];

 (* $_POST 與 &_GET 最好都是英文大寫)



GETPOST優缺
GET
POST
不適合用來傳帳號密碼
適合較有隱密性的資料傳送
無法傳送大量資料,加上URL頂多255字元
可以傳送大量資料
資料會紀錄在網址上,適合做分頁
切換網頁不能在網址後面加上參數
如果不設定表單的method,會設定GET為預設值


BMI計算
分兩頁面;一頁為bmi.php另一頁為bmi_process.php(接收表單)

bmi.php
<html>
<head>
</head>
<body>
<form name="form1" method="post" action="bmi_process.php">
BMI計算<br/>
身高: <input type="text" name="height" size="30"/>cm<br/>
體重: <input type="weight" name="weight" size="30"/>kg<br/>
<input type="submit" value="送出計算">
<input type="reset" value="重設">
</form>
</body>
</html>

bmi_process.php
<?php
$height=$_POST["height"];
$weight=$_POST["weight"];
$changm=$height/100;
$bmi=$weight/($changm*$changm);
echo "你好,你的BMI值是".$bmi."<br/>";
if($bmi<18.5)
        echo "BMI<18.5,你體重太輕了";
if($bmi>18.5 && $bmi<24){
        echo "此數值的BMI是正常的";
}
?>

加入javascript驗證欄位(其實也不是什麼很嚴謹的驗證,寫好玩的而已~)

補在bmi.php<head>

<head>
<script>
function check(){
var write_h=document.form1.height.value;
var write_w=document.form1.weight.value;
if(write_h==""){
        alert ("請填入身高");
        return false;
}
if(write_w==""){
        alert ("請填入體重");
        return false;
}
}
</script>
</head>

1 則留言:

若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD

Vue multiselect set autofocus and tinymce set autofocus

要在畫面一進來 focus multiselect 的方式: 參考: https://jsfiddle.net/shentao/mnphdt2g/ 主要就是在 multiselect 的 tag 加上 ref (例如: my_multiselect), 另外在 mounted...