php- 在 select 一个选项之前切换失败
php- switch fails before i select an option
我在使用 php 开关功能时遇到问题。我知道它一定很简单,但我只是在学习,我似乎无法找到正确的编码方式。
这就是问题所在:当你点击任何选项时它工作正常,但当我第一次加载页面时它会发送错误消息...
<body>
<?php include ('./header.php')?>
<section>
<div class="btn">
<ul>
<li><a href="./index.php?opcion=op1">Opcion 1</a></li>
<li><a href="./index.php?opcion=op2">Opcion 2</a></li>
<li><a href="./index.php?opcion=op3">Opcion 3</a></li>
</ul>
</div>
<?php
if(isset ($_GET['opcion'])) {
switch($_GET['opcion']) {
case 'op1' :
$nombre = 'Magnus Carlsen';
$posicion = '1';
$puntaje = '2840';
$img = './magnus.jpg';
break;
case 'op2' :
$nombre = 'Ian Nepomniatchi';
$posicion = '2';
$puntaje = '2812';
$img = './nepo.jpeg';
break;
case 'op3' :
$nombre = 'Ding Liren';
$posicion = '3';
$puntaje = '2760';
$img = './ding.jpg';
break;
}
}
else {
}
?>
<div class="show">
<h3><?php echo $nombre?></h2>
<h4><?php echo $posicion?></h4>
<p><?php echo $puntaje?></p>
<div class="contenedor_img">
<img src="<?php echo $img ?>" alt="foto">
</div>
</div>
现在,我想“显示”div 不应该在那里...但是当我移动它时它也没有很好地响应...
这是错误:
警告:C:\xampp\htdocs\dashboard\proyectos\PHP\index.php 中第 53 行
中未定义变量 $nombre
警告:C:\xampp\htdocs\dashboard\proyectos\PHP\index.php 中第 54 行
中未定义变量 $posicion
警告:第 55 行 C:\xampp\htdocs\dashboard\proyectos\PHP\index.php 中未定义变量 $puntaje
照片
问题是当表单没有提交的时候,你没有输入你的switch。这意味着您的 $nombre
、$posicion
、$puntaje
和很可能 $img
未定义。有两种方法可以解除封锁。
方案一,给这些变量一个默认值
// here you can define your variables
$nombre = 'no number';
$posicion = 'no position';
$puntaje = 'empty';
$img = '';
if (isset ($_GET['opcion'])) {
switch ($_GET['opcion']) {
case 'op1' :
$nombre = 'Magnus Carlsen';
$posicion = '1';
$puntaje = '2840';
$img = './magnus.jpg';
break;
case 'op2' :
$nombre = 'Ian Nepomniatchi';
$posicion = '2';
$puntaje = '2812';
$img = './nepo.jpeg';
break;
case 'op3' :
$nombre = 'Ding Liren';
$posicion = '3';
$puntaje = '2760';
$img = './ding.jpg';
break;
}
} else {
}
或者您可以检查用户是否已提交表单,然后再尝试回显变量。您可以通过在 if 语句中包围 html 来做到这一点。
<?php if(isset ($_GET['opcion'])) { ?>
<div class="show">
<h3><?php echo $nombre?></h2>
<h4><?php echo $posicion?></h4>
<p><?php echo $puntaje?></p>
<div class="contenedor_img">
<img src="<?php echo $img ?>" alt="foto">
</div>
</div>
<?php } ?>
我在使用 php 开关功能时遇到问题。我知道它一定很简单,但我只是在学习,我似乎无法找到正确的编码方式。 这就是问题所在:当你点击任何选项时它工作正常,但当我第一次加载页面时它会发送错误消息...
<body>
<?php include ('./header.php')?>
<section>
<div class="btn">
<ul>
<li><a href="./index.php?opcion=op1">Opcion 1</a></li>
<li><a href="./index.php?opcion=op2">Opcion 2</a></li>
<li><a href="./index.php?opcion=op3">Opcion 3</a></li>
</ul>
</div>
<?php
if(isset ($_GET['opcion'])) {
switch($_GET['opcion']) {
case 'op1' :
$nombre = 'Magnus Carlsen';
$posicion = '1';
$puntaje = '2840';
$img = './magnus.jpg';
break;
case 'op2' :
$nombre = 'Ian Nepomniatchi';
$posicion = '2';
$puntaje = '2812';
$img = './nepo.jpeg';
break;
case 'op3' :
$nombre = 'Ding Liren';
$posicion = '3';
$puntaje = '2760';
$img = './ding.jpg';
break;
}
}
else {
}
?>
<div class="show">
<h3><?php echo $nombre?></h2>
<h4><?php echo $posicion?></h4>
<p><?php echo $puntaje?></p>
<div class="contenedor_img">
<img src="<?php echo $img ?>" alt="foto">
</div>
</div>
现在,我想“显示”div 不应该在那里...但是当我移动它时它也没有很好地响应...
这是错误:
警告:C:\xampp\htdocs\dashboard\proyectos\PHP\index.php 中第 53 行
中未定义变量 $nombre警告:C:\xampp\htdocs\dashboard\proyectos\PHP\index.php 中第 54 行
中未定义变量 $posicion警告:第 55 行 C:\xampp\htdocs\dashboard\proyectos\PHP\index.php 中未定义变量 $puntaje 照片
问题是当表单没有提交的时候,你没有输入你的switch。这意味着您的 $nombre
、$posicion
、$puntaje
和很可能 $img
未定义。有两种方法可以解除封锁。
方案一,给这些变量一个默认值
// here you can define your variables
$nombre = 'no number';
$posicion = 'no position';
$puntaje = 'empty';
$img = '';
if (isset ($_GET['opcion'])) {
switch ($_GET['opcion']) {
case 'op1' :
$nombre = 'Magnus Carlsen';
$posicion = '1';
$puntaje = '2840';
$img = './magnus.jpg';
break;
case 'op2' :
$nombre = 'Ian Nepomniatchi';
$posicion = '2';
$puntaje = '2812';
$img = './nepo.jpeg';
break;
case 'op3' :
$nombre = 'Ding Liren';
$posicion = '3';
$puntaje = '2760';
$img = './ding.jpg';
break;
}
} else {
}
或者您可以检查用户是否已提交表单,然后再尝试回显变量。您可以通过在 if 语句中包围 html 来做到这一点。
<?php if(isset ($_GET['opcion'])) { ?>
<div class="show">
<h3><?php echo $nombre?></h2>
<h4><?php echo $posicion?></h4>
<p><?php echo $puntaje?></p>
<div class="contenedor_img">
<img src="<?php echo $img ?>" alt="foto">
</div>
</div>
<?php } ?>