Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ทำไมใช้ netbean เขียนโปรแกรมบันทึกข้อมูลไม่ได้ครับ ขึ้น error do not access supperglobal $_POST Array directly.



 

ทำไมใช้ netbean เขียนโปรแกรมบันทึกข้อมูลไม่ได้ครับ ขึ้น error do not access supperglobal $_POST Array directly.

 



Topic : 122453



โพสกระทู้ ( 48 )
บทความ ( 0 )



สถานะออฟไลน์




Config.php(PHP)
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        $host = "localhost";
        $user = "root";
        $pass = "root";
        $db = "project";
            $conn = mysql_connect($host, $user, $pass)or die ("ติดต่อฐานข้อมูลไม่ได้");
            mysql_select_db($db, $conn)or die('ไม่พบฐานข้อมูล');
            mysql_query("SET NAMES UTF8");   
        ?>
    </body>
</html>



register.php(PHP)
<form method="post" action="insert_register.php">
    สมัครสมาชิค
    ชื่อ-นามสกุล <input name="name"/>
    Username <input name="userword"/>
    password <input name="password" type="password"/>
    e-mail<input name="mail"/>
    เบอร์โทร <input name="tel"/>
    <input name="submit" type="submit" value="สมัครสมาชิค"/>

</form>


donot
ขึ้นตรงบรรทัดที่ 2 ครับ ตรงตำแหน่งที่มีคำว่า $_POST

insert_register.php(PHP)
<?php
if($_POST['name']!='' or $_POST['username']!='' or $_POST['password']!='' or $_POST['mail']!='' or $_POST['tel']!=''){
    include('config.php');
    $sql='SELECT * FROM tbl_member WHERE user = "'.$_POST['username'].'"';
    $query = mysql_query($sql);
    $num = mysql_num_rows($query);
    if($num>=1){
        echo 'ชื่อผู้ใช้งานนี้มีคนใช้งานแล้ว'.'</br>';
        echo '<a href="register.php">กลับไปหน้าสมัครสมาชิค </a>';
    }
    else{
        $sql1="INSERT INTO tbl_member value ('','".$_POST['name']."','".$_POST['username']."','".$_POST['mail']."','".$_POST['tel']."')";
    }
    $query1=  mysql_query($sql1);
        if($query1){
        echo 'บันทึกข้อมูลเรียบร้อยแล้ว'.'</br>';
        echo '<a href="register.php">กลับไปหน้าสมัครสมาชิค </a>';
        }
else
{
    echo 'กรุณากรอกข้อมูลให้ครบถ้วน'.'</br>';   
    echo '<a href="register.php">กลับไปหน้าสมัครสมาชิค </a>';
        }
}


อันนี้ตัวฐานข้อมูลครับ
wqe


แสดงผล
sad



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-04-17 18:45:08 By : slaparum View : 1023 Reply : 8
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Quote:
Username <input name="userword"/>


ส่งมาผิดชื่อครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-17 21:46:54 By : mr.win
 


 

No. 2

Guest


$_post ใช้ใน netbean ได้ไหมครับ หรือผมทำผิดตรงไหน นอกจาก ส่งค่าตัวแปรตัวนั้น แนะนำหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-17 22:19:09 By : Slaparum
 

 

No. 3



โพสกระทู้ ( 4,719 )
บทความ ( 8 )



สถานะออฟไลน์


มันบอกว่าอย่าเรียกใช้ $_POST โดยตรงครับ ให้เรียกใช้ผ่าน filter_input แทนและใช้เงื่อนไขตรวจสอบด้วย is_*() function ทั้งหลาย

มันไม่เกี่ยวเลยครับว่าใช้ Netbeans แล้วบันทึกข้อมูลไม่ได้
ที่มันแจ้งว่าอย่าเรียกใช้โดยตรงเพราะมันจะมีช่องโหว่ทำให้โดนโจมตีแบบ xss ได้ แล้วยังไม่นับพวกที่ชอบเอาค่า $_GET $_POST มายัดใส่สตริง sql ตรงๆอีกก็โดน sql injection กันไปตามความสะเพร่า

จริงๆคุณควร capture มาให้เห็นเต็มๆว่าตรงที่ขึ้นเตือนขึ้นยังไง มีอะไรไฮไลท์ไว้ ไม่ใช่แคปมาแค่ส่วนข้อความ จะได้เห็นทั่วกันชัดๆว่ามันแค่เป็นส่วนแจ้งเตือนให้ระวังจากตัว Netbeans เท่านั้น
คุณจะใช้มันโดยตรงก็ได้ $_POST น่ะครับ แต่ก่อนเอาค่าไปใช้ก็ตรวจ+กรองอะไรเสียก่อน ผมก็ทำอยู่ก็ไม่เห็นจะมีปัญหา

ปัญหาจริงๆที่คุณเจอคือมันแจ้ง undefined index ซึ่งถ้าคุณเอาคำนี้ไปหาใน google จะเจอวิธีแก้ปัญหาเยอะแยะไปหมด มันไม่ใช่ปัญหาใหม่
คุณก็แค่เอา is_*() function ทั้งหลายตรวจสอบก่อน เช่น isset()
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-18 07:13:20 By : mr.v
 


 

No. 4



โพสกระทู้ ( 48 )
บทความ ( 0 )



สถานะออฟไลน์


ตอนนี้ได้แล้วครับ อย่างที่พี่ mr.v บอก
ตอบความคิดเห็นที่ : 3 เขียนโดย : mr.v เมื่อวันที่ 2016-04-18 07:13:20
รายละเอียดของการตอบ ::
แล้วระหว่าง $_post กับ filter_input อันไหนปลอดภัยกว่าครับ
ถ้าอัน $_Post ปลอดภัยแต่ต้องมีการตรวจสอบ แล้ว filter_input ไม่ต้องมีการตรวจสอบหรอครับ


ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-18 08:16:43 By : slaparum
 


 

No. 5



โพสกระทู้ ( 4,719 )
บทความ ( 8 )



สถานะออฟไลน์


filter_input มันก็บอกในตัวอยู่แล้วครับว่ากรองส่วนนำเข้า (input) มันก็เป็นการตรวจสอบในตัวอยู่แล้ว
ส่วนอันไหนจะปลอดภัยกว่าก็อยู่ที่คุณจะเขียน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-18 08:29:39 By : mr.v
 


 

No. 6



โพสกระทู้ ( 48 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : mr.v เมื่อวันที่ 2016-04-18 08:29:39
รายละเอียดของการตอบ ::
ผมขอตัวอย่างการเขียนตรงนี้หน่อยครับ ผมไม่เข้าใจว่าควรจะใส่ตรงไหน เขียนแบบไหนอะครับ ขอบคุณครับ
ตัวอย่างของ
if(iss($_POST))
และ
filter_input

if($_POST['name']!='' or $_POST['username']!='' or $_POST['password']!='' or $_POST['mail']!='' or $_POST['tel']!=''){


}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-18 10:23:29 By : slaparum
 


 

No. 7



โพสกระทู้ ( 4,719 )
บทความ ( 8 )



สถานะออฟไลน์


ผมว่าคุณไปเน้นแก้ปัญหาตรง undefined index ดีกว่า นั่นต่างหากที่ควรใช้ isset() เข้ามาเช็ค
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-18 11:23:21 By : mr.v
 


 

No. 8



โพสกระทู้ ( 48 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-18 12:04:32 By : slaparum
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ทำไมใช้ netbean เขียนโปรแกรมบันทึกข้อมูลไม่ได้ครับ ขึ้น error do not access supperglobal $_POST Array directly.
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่