本地环境:macos+xampp+php7
创建了 2 个文件 demo.php and demo-form.php ,放在 xampp/htdocs/simpleform 目录下
demo.php 的代码为:
<?php
/**
* Created by PhpStorm.
* User: sulayman
* Date: 2019/7/8
* Time: 8:37 PM
*/
define('DB_NAME', 'form1');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
$link = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD);
mysql_query("set names 'utf8'");
if(!$link){
die('could not connect:'.mysqli_error($link));
}
$db_selected = mysqli_select_db($link, DB_NAME);
if(!$db_selected){
die('cannot use'.DB_NAME.':'.mysqli_error($link));
}
//echo "you conneted the database successfully";
//
//
//
// $value = $_POST["input1"];
if (isset($_POST['input1'])) {
$value = $_POST['input1'];
}
$sql = "INSERT INTO demo(input1) VALUES ('.$value.')";
if (!mysqli_query($link,$sql)){
die('error:'.mysqli_error($link));
}
mysqli_close($link);
demo-form.php 的代码为:
<form action = "demo.php" method = "post" >
<p> Input 1:</p> <input type="text" name="input1">
<input type="submit" value="submit">
</form>
phpmyadmin 的配置
如何解决这个错误:
Notice: Undefined variable: value in /Applications/XAMPP/xamppfiles/htdocs/simpleform/demo.php on line 37
37行的代码为:
$sql = "INSERT INTO demo(input1) VALUES ('$value')";
你这里声明了,当 POST 的 input1 有值时,才给
$value
赋值,但是你有没有考虑当 input1 没有的情况下呢?很显然,你这里继续执行了下面的代码,当下面需要用单
$value
才发现,并不存在这个变量。