<?php
if(isset($_GET['breed'])){ $breed = $_GET['breed']; }
if(isset($_GET['age'])){ $age = $_GET['age']; }
if(isset($_GET['gender'])){ $gender = $_GET['gender']; }
if(isset($_GET['image'])){ $image = $_GET['image']; }
if(isset($_GET['name'])){ $name = $_GET['name']; }
if(isset($_GET['phone'])){ $phone = $_GET['phone']; }
if(isset($_GET['address'])){ $address = $_GET['address']; }
$sql = "INSERT INTO catdetails (breed, age, gender, image, name, pno, address)
VALUES ('$breed','$age','$gender','$image','$name','$phone','$address')";
if(mysqli_query($conn, $sql)){
echo "Records added successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($conn);
}
?>
我的网页上面有代码。但是当我运行它时,它说没有定义变量。
注意:未定义的变量:在第130行的C:\ wamp \ www \ SQA \ index.php中繁殖
如何解决此错误?
答案 0 :(得分:4)
仅在isset()未设置时才分配值。
因此,如果你没有$_GET['breed']
,$breed
没有初始化,那么错误。
使用三元运算符来实现此目的。
变化:
if(isset($_GET['breed'])){ $breed = $_GET['breed']; }
要
$breed = isset($_GET['breed']) ? $_GET['breed'] : '';
将此更改应用于所需的所有变量。
答案 1 :(得分:1)
如果未设置,则需要输入值。所以if语句是if issets。
答案 2 :(得分:0)
我认为您的$ _GET(['品种'])未设置。 它不运行代码:
$breed = $_GET['breed'];
所以,没有定义$品种。
您可以按如下方式初始化$ breed:
$breed = '';
if(isset($_GET(['breed'])){
$breed = $_GET['breed'];
}
答案 3 :(得分:0)
检查以下代码.1st函数用于从sql注入中逃脱..
function escape($e_string)
{
global $conn;
$e_string = trim(strip_tags($e_string));
$e_string = mysqli_real_escape_string($conn,$e_string);
return $e_string;
}
$breed = isset($_GET['breed']) ? escape($_GET['breed']) : '';
$age = isset($_GET['age']) ? escape($_GET['age']) : '';
$gender = isset($_GET['gender']) ? escape($_GET['gender']) : '';
$image = isset($_GET['image']) ? escape($_GET['image']) : '';
$name = isset($_GET['name']) ? escape($_GET['name']) : '';
$phone = isset($_GET['phone']) ? escape($_GET['phone']) : '';
$address = isset($_GET['address']) ? escape($_GET['address']) : '';
$sql = "INSERT INTO catdetails (breed, age, gender, image, name, pno, address)
VALUES ('$breed','$age','$gender','$image','$name','$phone','$address')";
if(mysqli_query($conn, $sql)){
echo "Records added successfully.";
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($conn);
}
同时检查数据库字段是否唯一..
答案 4 :(得分:-1)
130号线在哪里? 我认为变量不存在。
试试这个:
$breed = (array_key_exists(['breed'], $_GET)) ? addslashes($_GET['breed']) : null;
$age = (array_key_exists(['age'], $_GET)) ? addslashes($_GET['age']) : null;
$gender = (array_key_exists(['gender'], $_GET)) ? addslashes($_GET['gender']) : null;
$image = (array_key_exists(['image'], $_GET)) ? addslashes($_GET['image']) : null;
$name = (array_key_exists(['name'], $_GET)) ? addslashes($_GET['name']) : null;
$phone = (array_key_exists(['phone '], $_GET)) ? addslashes($_GET['phone ']) : null;
$address = (array_key_exists(['address '], $_GET)) ? addslashes($_GET['address ']) : null;
...