注意:未定义的索引:名称在C:wampwww ewlogindata1.php的第7行


Notice: Undefined index: Name in C:wampwww ewlogindata1.php on line 7

我想写一个php代码(我在php的入门级)。

<html>
<body>
<?php 
session_start();
$_SESSION['Name'] = $_POST['Name'];
$_SESSION['Email'] = $_POST['Email'];
$_SESSION['Password']= $_POST['Password'];
$con = mysqli_connect("localhost","root"," ","Details");
if(!$con)
{
    echo("hello");
}
mysqli_select_db( $con,"Details" );
$value = isset($_POST['Name']) ? $_POST['Name'] : '';
$value1 = isset($_POST['Email']) ? $_POST['Email'] : '';
$value2 = isset($_POST['Password']) ? $_POST['password'] : '';
$sql = "insert into details1 ( Name, Email, Password ) values ( '$Name', '$Email',     '$Password' )";
echo "1 record is added";
mysqli_close($con); 
 ?>

我收到以下通知:

Notice: Undefined index: Name in C:'wamp'www'newlogin'data1.php on line 7
Notice: Undefined index: Email in C:'wamp'www'newlogin'data1.php on line 9
Notice: Undefined index: Password in C:'wamp'www'newlogin'data1.php on line 11
Notice: Undefined variable: Name in C:'wamp'www'newlogin'data1.php on line 22
Notice: Undefined variable: Email in C:'wamp'www'newlogin'data1.php on line 22
Notice: Undefined variable: Password in C:'wamp'www'newlogin'data1.php on line 22
1 record is added

如何解决这些通知?

如何解决这些通知?

容易。确保捕获错误的代码。

首先,您没有检查在设置$_SESSION时是否实际设置了$_POST值,因此我重新编写了您的代码以将其考虑在内。我还对它进行了优化,使代码通过$_POST值数组滚动并适当地设置会话。

然后在MySQL区域设置$value, $value1 &$value2,然后你使用$Name, $Email &$Password。为什么?把它们设为$Name, $Email &$Password。我还将其设置为通过$_POST值的数组滚动到通过$$post_value设置值。

<?php 
session_start();
// Set an array of post values.    
$post_array = array('Name','Email','Password');
// Roll through the array of post values and set the session as appropriate.
foreach ($post_array as $post_value) {
  $_SESSION[$post_value] = isset($_POST[$post_value]) ? $_POST[$post_value] : null;
}
$con = mysqli_connect("localhost","root"," ","Details");
if(!$con) {
  echo("hello");
}
mysqli_select_db( $con,"Details" );
// Roll through the array of post values and set the session as appropriate.
foreach ($post_array as $post_value) {
  $$post_value = isset($_POST[$post_value]) ? $_POST[$post_value] : null;
}
$sql = "insert into details1 ( Name, Email, Password ) values ( '$Name', '$Email',     '$Password' )";
echo "1 record is added";
mysqli_close($con); 
?>