Php 显示用户配置文件的进度图像

Php 显示用户配置文件的进度图像,php,if-statement,Php,If Statement,我试图通过图像序列显示用户填写其用户配置文件的进度 例如,如果用户填写他们的姓名,将显示进度图像2。 如果用户填写他们的姓名和简历,将显示进度图像3,依此类推 我试图使用if和elseif语句,但只会显示进度图像2 因此,基本上,我只希望根据用户完成用户配置文件表单的进度显示一张图像 这是我的密码 <?php $name = ($data->first_name); $bio = ($data->bio); $address = ($data->street1); $ph

我试图通过图像序列显示用户填写其用户配置文件的进度

例如,如果用户填写他们的姓名,将显示进度图像2。 如果用户填写他们的姓名和简历,将显示进度图像3,依此类推

我试图使用if和elseif语句,但只会显示进度图像2

因此,基本上,我只希望根据用户完成用户配置文件表单的进度显示一张图像

这是我的密码

<?php
$name = ($data->first_name);
$bio = ($data->bio);
$address = ($data->street1);
$phone = ($data->phone);
$ec = ($data->e_contact);
$ecp = ($data->e_phone);
$bs = ($data->bs);

if($name == true){?>
    <img src="../images/progress2.png" class="img-max-progress">
<?php }


elseif($name.$bio == true){?>
    <img src="../images/progress3.png" class="img-max-progress">
<?php 
} 

elseif($name.$bio.$address == true){?>
    <img src="../images/progress4.png" class="img-max-progress">
<?php 
} 

elseif($name.$bio.$address.$phone == true){?>
    <img src="../images/progress5.png" class="img-max-progress">
<?php 
}

elseif($name.$bio.$address.$phone.$ec == true){?>
    <img src="../images/progress6.png" class="img-max-progress">
<?php 
}

elseif($name.$bio.$address.$phone.$ec.$ecp == true){?>
    <img src="../images/progress7.png" class="img-max-progress">
<?php
}

elseif($name.$bio.$address.$phone.$ec.$ecp.$bs == true){?>
    <img src="../images/progress8.png" class="img-max-progress">
<?php
}
?>

<?php
if($name != true){?>
    <img src="../images/progress1.png" class="img-max-progress">
<?php 
 }
?>
我已经填写了表格,所以progress8.png应该是显示的图像, 但progress2.png目前正在播放

使用@user3132781和@vlzvl answers之间的组合,我得到了这样的结果


嗯。。我会尝试以下几点:

if($name){
   img 1
}
elseif ($name && $bio){
   img 2
}
等等

最后一行是:

if(!$name){
   img progress1
}

试试这个,它也干净多了:

<?php
$name = ($data->first_name);
$bio = ($data->bio);
$address = ($data->street1);
$phone = ($data->phone);
$ec = ($data->e_contact);
$ecp = ($data->e_phone);
$bs = ($data->bs);

if($name == true) {
    echo '<img src="../images/progress2.png" class="img-max-progress">';
}

elseif($name== true && $bio == true) {
    echo '<img src="../images/progress3.png" class="img-max-progress">';
} 

elseif($name== true && $bio == true && $address == true) {
    echo '<img src="../images/progress4.png" class="img-max-progress">';
} 

elseif($name== true && $bio == true && $address == true && $phone == true) {
    echo '<img src="../images/progress5.png" class="img-max-progress">';
}

elseif($name== true && $bio == true && $address == true && $phone == true && $ec == true) {
    echo '<img src="../images/progress6.png" class="img-max-progress">';
}

elseif($name== true && $bio == true && $address == true && $phone == true && $ec == true && $ecp == true) {
    echo '<img src="../images/progress7.png" class="img-max-progress">';
}

elseif($name== true && $bio == true && $address == true && $phone == true && $ec == true && $ecp == true && $bs == true) {
    echo '<img src="../images/progress8.png" class="img-max-progress">';
}

if($name != true) {
    echo '<img src="../images/progress1.png" class="img-max-progress">';
}

您可能需要将==true更改为@vlzvl所说的检查变量是否为空

$completed = 0;

if (isset($name)) {
    $completed += 1;
}

if (isset($adress)) {
    $completed += 1;
}

..... and so on for all the fields

//$completed can be used for defining the image
echo '<img src="../images/progress' . $completed .'.png" class="img-max-progress">';

也许可以这样做:如果$name==true&&$bio==true&&&$address==true&&&$phone==treu&&&$ec==true&&&$ecp==true&&$bs==true{}而不是通过true/FALSE进行检查,你可以通过检查字符串是否为空来尝试,至少当你说填写他们的信息时我能理解这一点。好像!空$name{?>表单已提交并存储在用户数据库表中。我尝试了您的方法,但仍然没有成功,因此我尝试检查变量是否为空:elseif!empty$name&!empty$bio&&!empty$address&!empty$phone&!empty$ec&!empty$ecp&&!empty$bs{echo;}也不走运。@echo然后你尝试回显这些变量以检查它们返回的内容我你可能已经测试过了,但这是我现在能想到的全部
$completed = 0;

if (isset($name)) {
    $completed += 1;
}

if (isset($adress)) {
    $completed += 1;
}

..... and so on for all the fields

//$completed can be used for defining the image
echo '<img src="../images/progress' . $completed .'.png" class="img-max-progress">';