พอดีผมส่งค่าจากฟอร์มไปแล้วมันเป็นค่าว่าง ครับ
นี่เป็นตัวอย่างโค้ด ครับ
form.php
<html>
<head>
<form name="form1" method="post" action="form2.php">
ชื่อ
<input type="text" name="name">
<br>
นามสกุล
<input type="text" name="surname">
<br>
<br>
<input type="submit" value="Submit">
<input type="reset"value="Reset">
</form>
</body>
</html>
form2.php
<html>
<body>
ชื่อ<? echo"$name" ?>
นามสกุล<? echo "$surname" ?>
<?
if($name=='')
{
echo "<br>name is NULL";
}if($surname==''){
echo"<br>surname is NULL";
}
?>
</body>
</html>
แล้ว ผลลัพออกมา
ชื่อ นามสกุล
name is NULL
surname is NULL
เลยสงสัยว่าทำไมมันถึงเป็นค่าว่างครับ แล้วมีวิธีแก้ปัญหายังไงครับ
ขอบคุณล่วงหน้าครับ
สงสัยต้องไปเรียนเรื่องฟอร์มใหม่แล้ว
ฟอร์มต้องรับค่าด้วย $_POST หรือ $_GET ครับ
ในปัจจุบันการรับค่าด้วย ตัวแปรตรงๆ คงเหลือไม่กี่ server แล้ว ดังนั้นเพื่อความปลอดภัยควรใช้การรัยค่าด้วย $_POST หรือ $_GET แทน
ส่วนจะใช้ตัวแปรไหนรับก็ดูที่ method ของ ฟอร์ม ครับ
รายละเอียดเกี่ยวกับฟอร์ม ลองคลิกที่ Form ใน Category ซ้ายมือ หรืออาจไปหาอ่านเองต้นได้ที่ thaicreate.com ครับ
ฟอร์มต้องรับค่าด้วย $_POST หรือ $_GET ครับ
ในปัจจุบันการรับค่าด้วย ตัวแปรตรงๆ คงเหลือไม่กี่ server แล้ว ดังนั้นเพื่อความปลอดภัยควรใช้การรัยค่าด้วย $_POST หรือ $_GET แทน
ส่วนจะใช้ตัวแปรไหนรับก็ดูที่ method ของ ฟอร์ม ครับ
รายละเอียดเกี่ยวกับฟอร์ม ลองคลิกที่ Form ใน Category ซ้ายมือ หรืออาจไปหาอ่านเองต้นได้ที่ thaicreate.com ครับ
ขอบคุณมากครับ เดี๋ยวจะลองศึกษาดูอีกทีครับ
ผมลองดูมันก็เหมือนจะได้นะครับ ผมก็เลยลองก๊อปเอาไปทำ ก็ได้จริงๆ ผมรันเครื่อง Server ด้วย Apace อะครับ
ได้นี้ คือได้ค่าที่กรอกไปโชว์ขึ้นมาเลยเหรอครับ ถ้าได้แล้วมันปิดตรงไหนหว่าทำไมของผมไม่ขึ้น Apaceเหมือนกันครับ
ช่วยตอบเพิ่มเติมนะครับ วิธีการใช้นะครับอย่างเช่น ชื่อ TextBox ที่คุณตั้งนะครับ คือ
========================================
form1.php
<form name="form1" method="post" action="form2.php">
<input type="text" name="name">
<input type="text" name="surname">
<input type="submit" value="Submit">
</form>
========================================
========================================
form2.php
วิธีการรับค่านะครับแล้วรู้ได้ยังไงว่า GET หรือ POST
<form name="form1" method="post" action="form2.php"> ให้ดูที่ method หนะครับของ form1.php ถ้า post ก็ต้องรับค่าด้วย post ถ้า get ก้รับด้วย get หนะครับ
การส่งค่าด้วย get จะเป็นการ ส่งค่า ผ่าน QueryString หนะครับ อย่างเช่น
http://localhost/...surname=valueSurname
ตั้งแต่ ?name=valueName&surname=valueSurname คือค่า QueryString นะครับ แต่ไม่สมควรส่งค่า Username Password เรียกว่าสิ่งสำคัญเกี่ยวกับด้านความปลอดภัยทุกๆอย่างนะครับ เพราะค่า querystring จะถูกเก็บไว้ในเครื่องคอมพิวเตอร์เครื่องนั้นซึ่ง ลองนึกว่า เวลาใช้ เว๊บอย่าง google ก็ได้ครับ เวลาพิมพ์ www.google.com แล้วจะพบค่า querystring อื่นๆ ซึ่งถ้าคนอื่นมาใช้ไม่ใช่เจ้าของเครื่อง แล้วถ้ามีพื้นฐานการเขียนโปรแกรมด้วยแล้วไม่ต้องห่วงครับโดยขโมยแน่ๆครับ ขอโทษทีนะครับยาวไปหน่อยมาดูต่อเลยครับ
แต่ในกรณีคุณส่งเป็น post นะครับก็ต้องรับด้วย post เช่น
<?php
$name = $_POST['name'];
$surname = $_POST['surname'];
echo $name . "<br>";
echo $surname;
?>
เท่านี้แหละครับก็ได้แล้ว แล้วจะเอาตัวไป อะไรก็เชิญตามสบายเลยครับ
เพิ่มเติม อีกนิดนะครับ ในค่าของ POST จะรู้ได้ไงว่าจะต้องใส่อะไร
$name = $_POST['name']; ค่า name สีแดงหนะครับ ก็เอามาจาก ชื่อ ของ textbox ในหน้า form1.php
ตัวแปรจะตั้งชื่อยังไงก็ตามสบายครับไม่จำเป็นจะต้องเป็น
$name = $_POST['name']; เสมอไป
========================================
ถ้าไม่เข้าใจก็ถามไว้หนะครับเดียวช่วยพี่ Goragod ตอบเท่าที่ตอบได้หนะครับ
========================================
form1.php
<form name="form1" method="post" action="form2.php">
<input type="text" name="name">
<input type="text" name="surname">
<input type="submit" value="Submit">
</form>
========================================
========================================
form2.php
วิธีการรับค่านะครับแล้วรู้ได้ยังไงว่า GET หรือ POST
<form name="form1" method="post" action="form2.php"> ให้ดูที่ method หนะครับของ form1.php ถ้า post ก็ต้องรับค่าด้วย post ถ้า get ก้รับด้วย get หนะครับ
การส่งค่าด้วย get จะเป็นการ ส่งค่า ผ่าน QueryString หนะครับ อย่างเช่น
http://localhost/...surname=valueSurname
ตั้งแต่ ?name=valueName&surname=valueSurname คือค่า QueryString นะครับ แต่ไม่สมควรส่งค่า Username Password เรียกว่าสิ่งสำคัญเกี่ยวกับด้านความปลอดภัยทุกๆอย่างนะครับ เพราะค่า querystring จะถูกเก็บไว้ในเครื่องคอมพิวเตอร์เครื่องนั้นซึ่ง ลองนึกว่า เวลาใช้ เว๊บอย่าง google ก็ได้ครับ เวลาพิมพ์ www.google.com แล้วจะพบค่า querystring อื่นๆ ซึ่งถ้าคนอื่นมาใช้ไม่ใช่เจ้าของเครื่อง แล้วถ้ามีพื้นฐานการเขียนโปรแกรมด้วยแล้วไม่ต้องห่วงครับโดยขโมยแน่ๆครับ ขอโทษทีนะครับยาวไปหน่อยมาดูต่อเลยครับ
แต่ในกรณีคุณส่งเป็น post นะครับก็ต้องรับด้วย post เช่น
<?php
$name = $_POST['name'];
$surname = $_POST['surname'];
echo $name . "<br>";
echo $surname;
?>
เท่านี้แหละครับก็ได้แล้ว แล้วจะเอาตัวไป อะไรก็เชิญตามสบายเลยครับ
เพิ่มเติม อีกนิดนะครับ ในค่าของ POST จะรู้ได้ไงว่าจะต้องใส่อะไร
$name = $_POST['name']; ค่า name สีแดงหนะครับ ก็เอามาจาก ชื่อ ของ textbox ในหน้า form1.php
ตัวแปรจะตั้งชื่อยังไงก็ตามสบายครับไม่จำเป็นจะต้องเป็น
$name = $_POST['name']; เสมอไป
========================================
ถ้าไม่เข้าใจก็ถามไว้หนะครับเดียวช่วยพี่ Goragod ตอบเท่าที่ตอบได้หนะครับ
ได้เระครับ ยำๆ มั่วๆ แก้ๆ ดูของคนอื่นบ้างปรับไปปรับมาได้เระครับ ขอขอบคุณทุกความคิดเห็นนะครับที่ช่วยให้ความรู้คร๊าบบบบ