数据输入后,PHP代码不显示任何内容

时间:2013-12-26 05:52:31

标签: php html

我已经尝试了很多次运行以下代码,但是,甚至 运行良好,总是留下相同的错误(错误消息 在我打开PHP代码的同时出现)=

" 
Notice: Undefined index: enviar in 
C:\wamp\www\290.php on  line 2 "

(我唯一尝试的是“试图证明辩论代码的合理性 第2行“ - 见第3行 - 改变第2行并介绍 第3行的代码和我所有的代码都是消除错误 消息,但....代码接受数据输入但不接受 在屏幕上显示任何内容! )
这是代码(一些HTML行) - 文件名=“get.php” -

<?php
if ($_GET['enviar']) {
#  if (isset($_GET['enviar']) && $_GET['enviar'] == '1') { 
    echo $_GET['nombre'];
} else {
    ?>
    <form action='get.php' method='get'>
        <p>
            Escribe tu nombre:  <input name='nombre'  type='text'  />
        </p>
        <p>
            <input name='enviar'  value='Enviar datos'  type='submit'  />´
        </p>
    </form>
    <?php
}
?>

4 个答案:

答案 0 :(得分:1)

从你的代码:

<input name='enviar'  value='Enviar datos'  type='submit'  />

表示在submit之后的PHP中,$_GET['enviar'] == "Enviar datos"

您收到的错误是因为在您提交之前,$_GET没有索引,因此您会收到未定义索引的通知。因为它是一个提交按钮,您只需检查该值是否已设置,而不是验证它的值是什么 - 所以您的if语句应该更像

if (isset($_GET['enviar'])) {

如果$_GET['nombre']中没有任何内容,则根本不会看到任何内容,因为HTML是在该语句的else部分生成的,而您只回显了一个值。

答案 1 :(得分:1)

此代码适用于您

   <?php
    if (isset($_GET['enviar'])) { 
    //if ($_GET['enviar']) {

        echo $_GET['nombre'];
    } else {
        ?>
        <form action='#' method='get'>
            <p>
                Escribe tu nombre:  <input name='nombre'  type='text'  />
            </p>
            <p>
                <input name='enviar'  value='Enviar datos'  type='submit'  />
            </p>
        </form>
        <?php
    }
    ?>

答案 2 :(得分:0)

Please try below code : 

    <?php
    if (isset($_GET['enviar']) && $_GET['enviar']!="") {
    #  if (isset($_GET['enviar']) && $_GET['enviar'] == '1') { 
       echo $_GET['nombre'];
    } else {
    ?>
    <form action='get.php' method='get'>
        <p>
            Escribe tu nombre:  <input name='nombre'  type='text'  />
        </p>
        <p>
            <input name='enviar'  value='Enviar datos'  type='submit'  />´
        </p>
    </form>
    <?php
    }
    ?>

答案 3 :(得分:0)

当你执行“$ _GET ['enviar'] =='1'”时,这意味着字段的值应为1,但此处此字段的值为'Enviar datos'。

另一个你会注意到:加载表单时未定义的索引'enviar',因为表单字段之前没有设置表单字段。因此,要首先删除此通知,您必须检查该表单字段是否已设置。

if (isset($_GET['enviar']) && $_GET['enviar'] == 'Enviar datos') {
#  if (isset($_GET['enviar']) && $_GET['enviar'] == '1') { 
    echo '=='.$_GET['nombre'];
} else {
    ?>
    <form action='test.php' method='get'>
        <p>
            Escribe tu nombre:  <input name='nombre'  type='text'  />
        </p>
        <p>
            <input name='enviar'  value='Enviar datos'  type='submit'  />´
        </p>
    </form>
    <?php
}