หัวข้อ: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: ninwatza ที่ 11 กรกฎาคม 2014, 16:01:44 PHP ฝึกหัดครับ ผมผิดตรงไหน TT
:wanwan031: (http://upic.me/i/z6/58untitled.png) พอรันแล้วมันบอกยังไม่ Index อะไรซักอย่างครับ :P หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: name777 ที่ 11 กรกฎาคม 2014, 16:10:20 โค๊ด: if( $_SERVER["REQUEST_METHOD"] == "POST"){ ข้างในเหมือนเดิม } เอาไปแทน if($_POST[''submit]) ดูครับ ผมคิดว่าน่าจะประมาณนี้นะ :P ไม่ค่อยเก่งเหมือนกันกำลังหัดอยู่ หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: Synchronize ที่ 11 กรกฎาคม 2014, 16:13:18 บรรทัด if($_POST['submit']) ให้เปลี่ยนเป็น
if(isset($_POST['submit'])) แทนครับ :wanwan017: หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: jeking ที่ 11 กรกฎาคม 2014, 16:20:38 บรรทัด if($_POST['submit']) ให้เปลี่ยนเป็น if(isset($_POST['submit'])) แทนครับ :wanwan017: ตามนี้ :wanwan003: หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: xvlnw.com ที่ 11 กรกฎาคม 2014, 17:07:50 อันที่จริงแบบนี้ก็เขียนได้นะครับ แต่ไม่แนะนำ เพราะถ้าหากเซิฟเวอร์เปิดโชว์ Error notice คือ ไม่ได้สร้างตัวแปรไว้ มันจะโชว์ว่า $_POST บราๆ ไม่มีอยู่จริง
เพราะฉะนั้น ในส่วนของ PHP เอาเข้าไปไว้ในเงื่อนไข if(isset($_POST['submit'])) ให้หมดครับ แล้วที่ใช้ isset ก็เพราะว่า เช็คว่าได้มีการสร้างตัวแปรนี้ขึ้นมาหรือยังนั่นเองครับ หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: @Roverpost ที่ 11 กรกฎาคม 2014, 17:16:03 บรรทัด if($_POST['submit']) ให้เปลี่ยนเป็น if(isset($_POST['submit'])) แทนครับ :wanwan017: ตามนี้ :wanwan003: ตามนี้อีก 1 ครับ หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: jirawats ที่ 11 กรกฎาคม 2014, 18:59:05 ผมว่าเวลาโพสแล้วมันคงไม่ไปนะ
เพราะว่าใน form ตรง action ไม่ได้กำหนดอ่ะ ถ้าไง เอาตามนี้ไปก่อน action="<?php echo $_SERVER['PHP_SELF']?>" แก้ไข : ลืม echo หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: xvlnw.com ที่ 11 กรกฎาคม 2014, 19:13:00 ผมว่าเวลาโพสแล้วมันคงไม่ไปนะ เพราะว่าใน form ตรง action ไม่ได้กำหนดอ่ะ ถ้าไง เอาตามนี้ไปก่อน action="<?php echo $_SERVER['PHP_SELF']?>" แก้ไข : ลืม echo action="" หมายถึง ให้ส่งไปไฟล์เดิมนั่นแหละครับ หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: iCoHd ที่ 11 กรกฎาคม 2014, 19:25:34 การประกาศค่าตัวแปร request ถ้าประกาศไว้เฉยๆ เวลาเรียกใช้งานธรรมดามันจะเออเร่อครับ เพราะมันไม่มีการกำหนดค่ามาให้
ต้องแก้แบบนี้ $username = isset($_POST['login']); $password = isset($_POST['password']); if(isset($_POST['submit'])){ } หรือไม่ก้เอา $username กับ $password ย้ายมาใส่ในเงื่อนไขแบบนี้ครับ if(isset($_POST['submit'])){ $username = $_POST['login']; $password = $_POST['password']; } ** isset() คือฟังชั่นใช้ตรวจสอบตัวแปรว่ามีการกำหนดขึ้นมารึป่าว ถ้ามีจะ return เป็น value (True) ถ้าไม่มีจะ return False หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: LifeGood ที่ 11 กรกฎาคม 2014, 20:04:14 ใช้ php version ไหนครับ ถ้า 5.4+ ใช้แบบนี้ filter_input(INPUT_POST, 'login') แทน $_POST['login'] นะครับ
:-[ หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: max30012540 ที่ 11 กรกฎาคม 2014, 20:04:48 เข้าใจว่าแค่ error notice สั่งปิดไปเลยก็ได้ครับ จะได้ไม่ปิดกั้นการสร้างสรรค์โค้ด :wanwan003:
http://www.thaiwebnews.com/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9B%E0%B8%B4%E0%B8%94-notices-%E0%B9%83%E0%B8%99-php/ หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: ninwatza ที่ 11 กรกฎาคม 2014, 21:03:02 ได้แล้วครับ ผมใส่ isset($_POST['submit']) อย่างเดียวไม่พอครับ
ต้องใส่ isset ทุกตัว -.- (http://upic.me/i/t5/60untitled.png) ต้องขอบคุณทุกท่านมากครับ กระจ่างเลย :wanwan017: แต่ว่าทำไมมันยังขึ้น เหลืองๆอยู่เลย -.- :P หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: Synchronize ที่ 11 กรกฎาคม 2014, 21:20:50 เหลืองๆ เพราะ netbean มันไม่รู้จัก super global ล่ะมั้งครับ
edit --- คุณใส่ isset ผิด แล้วนะครับ ตรงพวก username ใส่แบบนั้น มันจะได้ค่า true/false ออกมาแทน ถ้าจะใช้แบบนั้น ให้ใช้ แบบนี้ $username = isset($_POST['id']) ? $_POST['id'] : ''; หรือ ไม่ก็ ไม่ต้องใส่ แล้วเอาไปไว้ ภายใน if(isset($_POST['submit'])) แทน แบบนี้ if(isset($_POST['submit'])) { $username = $_POST['id']; ... ... แทนก็ได้ :wanwan017: หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: ninwatza ที่ 11 กรกฎาคม 2014, 21:22:50 เหลืองๆ เพราะ netbean มันไม่รู้จัก super global ล่ะมั้งครับ :wanwan017: กรรมเลย -.- แล้วถ้ามันเหลืองขึ้นมาเล่นๆ ผมไม่งงตายหรอครับ 555+ หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: น้องพี่ต้าร์ ที่ 11 กรกฎาคม 2014, 21:32:28 ใช้ notepad++ เลยครับจะได้ไม่มีเหลืองๆมากวนใจ
เจอ error บนหน้าเว็บค่อยแก้ หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: kororo56 ที่ 11 กรกฎาคม 2014, 21:35:41 ตรง $_POST['id'] กับ $_POST['pw']
ถ้าเกิด submit ขึ้นมาเฉย ๆ ไม่ได้ป้อนข้อมูลมันจะเกิด "undefined index" ขึ้นมาได้ $username = (isset($_POST['id']) && is_string($_POST['id'])) ? $_POST['id'] : null; $password = (isset($_POST['pw']) && is_string($_POST['pw'])) ? $_POST['pw'] : null; หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: jengseo01 ที่ 11 กรกฎาคม 2014, 22:01:22 PHP ฝึกหัดครับ ผมผิดตรงไหน TT :wanwan031: ([url]http://upic.me/i/z6/58untitled.png[/url]) พอรันแล้วมันบอกยังไม่ Index อะไรซักอย่างครับ :P ขอถามหน่อย ใช้ editor อะไรเหรอครับ สวยดี หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: ninwatza ที่ 11 กรกฎาคม 2014, 22:27:47 เหลืองๆ เพราะ netbean มันไม่รู้จัก super global ล่ะมั้งครับ edit --- คุณใส่ isset ผิด แล้วนะครับ ตรงพวก username ใส่แบบนั้น มันจะได้ค่า true/false ออกมาแทน ถ้าจะใช้แบบนั้น ให้ใช้ แบบนี้ $username = isset($_POST['id']) ? $_POST['id'] : ''; หรือ ไม่ก็ ไม่ต้องใส่ แล้วเอาไปไว้ ภายใน if(isset($_POST['submit'])) แทน แบบนี้ if(isset($_POST['submit'])) { $username = $_POST['id']; ... ... แทนก็ได้ :wanwan017: ทำตามแล้วครับ มันก็ยังเหลืองๆอยู่ 55 แต่ว่าถ้ารันผ่านหน้าเว็บ ก็ปรกติครับไม่มีแจ้งเตือน ขอคำอธิบาย ฟังก์ชั่นนี้หน่อยครับผมงง $username = isset($_POST['id']) ? $_POST['id'] : ''; หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: ninwatza ที่ 11 กรกฎาคม 2014, 22:31:34 PHP ฝึกหัดครับ ผมผิดตรงไหน TT :wanwan031: ([url]http://upic.me/i/z6/58untitled.png[/url]) พอรันแล้วมันบอกยังไม่ Index อะไรซักอย่างครับ :P ขอถามหน่อย ใช้ editor อะไรเหรอครับ สวยดี ์ Netbean theme Monokai ครับ หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: O.o!! ที่ 11 กรกฎาคม 2014, 22:33:43 ทำตามแล้วครับ มันก็ยังเหลืองๆอยู่ 55 แต่ว่าถ้ารันผ่านหน้าเว็บ ก็ปรกติครับไม่มีแจ้งเตือน ขอคำอธิบาย ฟังก์ชั่นนี้หน่อยครับผมงง $username = isset($_POST['id']) ? $_POST['id'] : ''; มันเป็นวิธีเขียนสั้นๆครับ เทียบเท่ากับ if(isset($_POST['id'])){ $username = $_POST['id']; }else{ $username = ''; } มันเรียกว่า Ternary Operator ครับ ลองอ่านคำอธิบายวิธีใช้ได้ที่นี่ครับ ( ไม่ใช่เว็บผม ) http://www.select2web.com/php/ternary-operator.html หัวข้อ: Re: PHP ฝึกหัดครับ ผมผิดตรงไหน TT เริ่มหัวข้อโดย: ninwatza ที่ 12 กรกฎาคม 2014, 06:45:33 ทำตามแล้วครับ มันก็ยังเหลืองๆอยู่ 55 แต่ว่าถ้ารันผ่านหน้าเว็บ ก็ปรกติครับไม่มีแจ้งเตือน ขอคำอธิบาย ฟังก์ชั่นนี้หน่อยครับผมงง $username = isset($_POST['id']) ? $_POST['id'] : ''; มันเป็นวิธีเขียนสั้นๆครับ เทียบเท่ากับ if(isset($_POST['id'])){ $username = $_POST['id']; }else{ $username = ''; } มันเรียกว่า Ternary Operator ครับ ลองอ่านคำอธิบายวิธีใช้ได้ที่นี่ครับ ( ไม่ใช่เว็บผม ) [url]http://www.select2web.com/php/ternary-operator.html[/url] ขอบคุณมากครับ |