แก้ไขรูป profile php แจ้งเตือนว่า Undefined variable $result มาที่หน้าแก้ไขแล้ว แต่กดแก้ไม่ได้ครับ ช่วยด้วย
undefined variable แปลว่า ตัวแปรไม่ได้ประกาศไว้
เป็นการแจ้งเตือนอย่างหนึ่ง ช่วยเราไม่ให้พลาดทำให้เกิดบั๊กอะไรงี้ได้ในบางกรณี
วิธีป้องกัน ให้ใช้ isset ช่วย
Code (PHP)
echo $name;// undefined variable error
if (isset($name)) {
echo $name;// ไม่เข้าเงื่อนไขเพราะไม่ได้ประกาศตัวแปรไว้
}
$name = 'John';
if (isset($name)) {
echo $name;// แสดงออกมาเป็น John
}
Date :
2021-07-09 18:36:03
By :
mr.v
ถ้าประกาศแล้วมันต้องไม่แจ้งเตือน ที่มันแจ้งเตือนเพราะยังไม่ประกาศ
ถ้าเอาโค้ดมาแค่นั้นก็วิเคราะห์อะไรไม่ได้ นอกจากยืนยันว่ามันแจ้งเตือนเพราะไม่ได้ประกาศไว้ ไม่เชื่อเอาโค้ดตัวอย่างไปรันดูได้
Date :
2021-07-09 19:59:34
By :
mr.v
สังเกตว่าไม่เจอตัวแปร $result เพราะว่าอยู่ใน if มีโอกาสที่ไม่เข้าเงื่อนไข if(isset()
ดังนั้นก็เลยไม่มี $result พอไม่มีแต่ด้านล่างยังเรียกใช้ก็เลย error
Date :
2021-07-09 22:28:12
By :
{Cyberman}
โพสต์เป็นภาพอีกแล้ว
Date :
2021-07-09 23:27:34
By :
mr.v
https://www.thaicreate.com/php/forum/095986.html#00495327
$result อยู่ในเงื่อนไข ดังนั้นถ้าไม่เข้าเงื่อนไขแล้วจู่ๆไปเรียกใช้ ก็มีค่าเท่ากับไม่ได้ประกาศตัวแปรอย่างที่บอกไว้นั่นแหละ
อย่างที่คห. 5 บอกไว้เลย
ดูตัวอย่างการตรวจผลลัพธ์ก่อนเอาไปใช้ตามลิ้งค์ข้างบนนี่
Date :
2021-07-09 23:31:36
By :
mr.v
Code (PHP)
มันเข้าเงื่อนไขไม่ได้
if (isset($_GET['id']) && !empty($_GET['id'])) {
$id = $_GET['id'];
$sql = "SELECT * FROM tbl_admin WHERE id = '$id'";
$query = mysqli_query($connection, $sql);
$result = mysqli_fetch_assoc($query);
echo "<pre>";
print_r($result);
echo "</pre>";
}
ผมลอง upload ไฟล์อื่นที่ไม่ใฝช่ไฟล์ภาพแล้วให้เข้า else แบบนี้ครับ ไปที่หน้าแก้ไขข้อมูลแล้ว upload ใหม่
Code (PHP)
else {
$alert = '<script type="text/javascript">';
$alert .= 'alert("เพิ่มไฟล์เข้า folder ไม่สำเร็จ");';
$alert .= 'window.location.href = "?page=datapersonal&function=update&id=$id"';
$alert .= '</script>';
echo $alert;
exit();
}
ตอนนี้มันแจ้ง error แบบนี้ครับ <br /><b>Warning</b>: Trying to access array offset on value of type null in <b>C:\xampp\htdocs\NSAFS\datapersonal\edit.php</b> on line <b>141</b><br />
code error ตรงค่า value ครับ
Code (PHP)
<h5 style="display: inline;">2.อีเมล ทอ.:</h5>
<h5 style="display: inline;" class="text-ware">*</h5> <input type="email" class="inputtext form-control filltext" name="email" placeholder="อีเมล ทอ. : [email protected] " value="<?= $result['email'] ?>" required disabled>
<br>
<h5 style="display: inline;">2.รหัสผ่าน</h5>
<h5 style="display: inline;" class="text-ware">*</h5> <input type="password" class="inputtext form-control filltext" name="pass" placeholder="รหัสผ่าน : 123456" value="<?= $result['pass'] ?>" required>
<hr class="mb-4">
Date :
2021-07-10 00:05:06
By :
artscaat
Load balance : Server 01