我正在显示用户的个人资料图片。如果用户没有更新自己的配置文件,我已经创建了一个if语句来发布默认配置文件图像。这一切都有效,但我无法弄清楚的是如何回答或调用每个没有错误的未设置错误。
例如,如果他们确实有一个个人资料图片集,它会发布很好,但后来我得到一个错误,其他变量没有定义,反之亦然。
我应该如何调用此代码或在代码中进行哪些更改?
$pics = array();
while ($stmt->fetch()) {
$pics[] = $profilePic;
}
if ($profilePic === NULL) {
$default_profile_img = '<img class="welcome-pic" src="profile_images/default.jpg">';
} else {
$set_profile_img = '<img class="welcome-pic" src=" '.$profilePic.'">';
}
}
?>
<nav id="nav-panel">
<div id="nav-container">
<div id="welcome">
<?php echo $default_profile_img;
echo $set_profile_img; ?>
编辑:
如何定义profilepic:
$sql = "
SELECT *
FROM profile_img
WHERE user_id = ?
ORDER BY id DESC LIMIT 1
";
if ($stmt = $con->prepare($sql)) {
$stmt->bind_param("s", $user_id);
$stmt->execute();
if (!$stmt->errno) {
// Handle error here
}
$stmt->bind_result($id, $user_id, $profilePic);
答案 0 :(得分:1)
您只需要在if..else
语句之前初始化变量,这样当您尝试回显它们时,它就不会被定义。
$profile_img = "";
$default_profile_img = "";
if (...
答案 1 :(得分:1)
只需在php代码的顶部添加 $ default_profile_img = null; 和 $ set_profile_img = null; 。
$default_profile_img = null;
$set_profile_img = null;
$pics = array();
while ($stmt->fetch()) {
$pics[] = $profilePic;
}
if ($profilePic === NULL) {
$default_profile_img = '<img class="welcome-pic" src="profile_images/default.jpg">';
} else {
$set_profile_img = '<img class="welcome-pic" src=" '.$profilePic.'">';
}
}
?>
<nav id="nav-panel">
<div id="nav-container">
<div id="welcome">
<?php echo $default_profile_img;
echo $set_profile_img; ?>
答案 2 :(得分:0)
试试这段代码。不需要使用两个不同的变量。这样,您就不会收到警告。
$pics = array();
while ($stmt->fetch()) {
$pics[] = $profilePic;
}
if (!isset($profilePic) OR $profilePic === NULL) {
$profile_img = '<img class="welcome-pic" src="profile_images/default.jpg">';
} else {
$profile_img = '<img class="welcome-pic" src=" '.$profilePic.'">';
}
}
?>
<nav id="nav-panel">
<div id="nav-container">
<div id="welcome">
<?php echo $profile_img; ?>