我的PHP中有一个未定义的变量

橙爪3

我对PHP很陌生,一直在尝试与mysqli集成。显然,在我的代码的第19行中,显示的变量是未定义的,但据我所知我已定义了它。

这是代码。我环顾四周,但我找不到真正的东西来隔离它。

<?php

include("connect.php");

$error = "";

if(isset($_POST['submit']))
    {
    $characterName = $_POST['fname'];
    $email = $_POST['email'];
    $password = $_POST['password'];
    $passwordConfirm = $_POST['passwordConfirm'];

    $image = $_FILES['image']['name'];
    $tmp_image = $_FILES['image']['tmp_name'];
    $imageSize = $_FILES['image']['size'];
    }

    if(strlen($fname) < 3)
    {
        $error = "Character name is too short";
    }


    else if(!filter_var($email, FILTER_VALIDATE_EMAIL))
    {
        $error = "Please enter a valid email address";
    }

    else if(strlen($password) < 8)
    {
        $error = "Password must be more than 8 characters";
    }

    else if($password === $passwordConfirm)
    {
        $error = "Password does not match";
    }

    else if($image = "")
    {
        $error = "Please upload an Avatar";
    }

    else
    {
        $error = "You have successfully registered";
    }


  ?>

表格代码:

<form method="post" action="index.php" enctype="multipart/form-data">
            <label>Character Name:</label><br />
            <input type="text" name="fname" /><br /><br />
            <label>Email:</label><br />
            <input type="text" name="email" /> <br /><br />
            <label>Password:</label><br />
            <input type="password" name="password" /><br /><br />
            <label>Reenter Password:</label><br />
            <input type="password" name="passwordConfirm" /><br /><br />
            <label>Send us an Avatar:</label><br />
            <input type="file" name="image" /><br /><br />
            <input type="submit" name="submit" value="submit" />
        </form>
杜美尼克
if(strlen($fname) < 3) {
   $error = "Character name is too short";
}

这是您的错误,未定义$ fname。您在这里的意思是$ _POST ['fname'];。您将其存储在$ characterName中,因此将其更改为:

if(strlen($characterName) < 3){
   $error = "Character name is too short";
}

无论如何,因为仅当isset($ _ POST ['submit'])时定义变量,如果未设置,下面的行将失败。这是一个示例,它如何工作。$ _POST ['submit']仅在使用post参数(形式,ajax ..)调用时定义,因此,如果直接打开php文件,它将无法正常工作。我添加了一些评论以使其清晰。

<?php

include("connect.php");

$error = "";

if(isset($_POST['submit'])) {
    //If this block of variable declaration failed it wouldn´t define the variables
    $characterName = $_POST['fname'];
    $email = $_POST['email'];
    $password = $_POST['password'];
    $passwordConfirm = $_POST['passwordConfirm'];

    $image = $_FILES['image']['name'];
    $tmp_image = $_FILES['image']['tmp_name'];
    $imageSize = $_FILES['image']['size'];

    //So we led Php only check the variables if a submit is provided
    if(strlen($characterName) < 3) {

        $error = "Character name is too short";

    } else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {

        $error = "Please enter a valid email address";

    } else if(strlen($password) < 8) {

        $error = "Password must be more than 8 characters";

    } else if($password === $passwordConfirm) {   

        $error = "Password does not match";

    } else if($image = "") {

        $error = "Please upload an Avatar";

    } else {

        $error = "You have successfully registered";

    }
} else {
    //If there is no submit we land here
    $error = "No data provided";
}




  ?>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我有一个同时定义和未定义的变量

我在同一文件中有2个互相引用的变量,但我不断收到一个错误,指出后一个未定义。我该如何解决?

我正面临一个未定义的变量:PHP 中的通知错误

只有一个会话变量未定义

如果我在fortran中调用一个函数而未定义变量,会发生什么?

为什么我得到一个未定义的变量:laravel 中的请求

Vue/Vuetify:为什么我会收到一个 ReferenceError:变量未定义?

我收到一个错误,即函数内的变量未定义

为什么我的方法不调用另一个(未定义的变量)

Bash:每个未定义变量一个参数

JavaScript:我传入一个列表,试图访问一个索引,它说该变量未定义

如何告诉JSHint忽略一个文件中的所有未定义变量?

为什么我得到一个未定义的?

为什么我有一个错误“无法读取未定义的属性”地图”?

在 laravel 5.6 中我的刀片视图有一个未定义的索引问题

未定义对某事的引用,因为我有一个库

为什么我的变量在更改另一个变量的显示后变得未定义?

PHP:将变量发送到另一个页面但未定义(变量在 phpinfo() 中)

我收到通知:将变量传递到另一个页面时未定义的索引

JS函数在控制台中给我未定义的内容,但我期望有一个数字

为什么我得到一个列表未定义的数据,没有我的下拉列表?

我的Ajax脚本设置了一个变量Task_Number,该变量等于我单击的行的tasknumber,但是我的php将其显示为未定义的索引

我可以让一个变量在控制器中有一个 AKA 吗?

我如何在 Swift 中有一个变量和一个同名的函数

未定义的变量:变量不会在另一个页面中传递

定义了一个Ruby NameError,未定义的局部变量

我在python中以OOP方式创建了一个简单的计算器。我收到一条错误消息,提示我的变量未定义

Typescript(类型'undefined'不能分配给类型)为什么我的数组有一个|号?未定义?

为什么我的数组未定义但它实际上应该有一个对象?