[英]Why I can not upload file to my database?
我需要创建一个包含一些信息的公司表格(如下所示),但每次我想上传新行时,我都会在每一列中得到 1。
所以,我想知道我应该如何处理我的代码?
<?php
include('mysql.php');
if ($_POST) {
$companyName = isset($_POST['cname']);
$address = isset($_POST['address']);
$phoneNubmber = isset($_POST['phoneNubmber']);
$result = $connection->query("INSERT INTO `companies`
(`name`, `email`, `phone`) VALUES('$cegnev ',
'$address', '$pn')");
header('Location: http://localhost/phptest/test.php');
mysqli_close($connection);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Form</title>
<meta charset="UTF-8">
<link rel="stylesheet" tpe="text/css" href="urlapcss.css">
</head>
<body>
<div id="container">
<form id="reg" action="test.php" method="post">
<fieldset>
<legend>Form</legend>
<ol>
<li>
<label for="cname">Name of the company<em>*</em></label>
<input id="cname" type="text" name="cname"/>
</li><li>
<label for="address">Email<em>*</em></label>
<input id="address" type="text" name="address"/>
</li><li>
<label for="phoneNubmber">Phone number<em>*</em></label>
<input id="phoneNubmber" type="text" name="phoneNubmber" />
</li>
</ol>
</fieldset>
<input type="submit" value="OK"/>
</form>
</div>
</body>
</html>
顺便说一句,mysql.php,如果您想知道 this.php 文件包含什么:
<?php
$host = "localhost";
$userName = "root";
$password = "";
$DBname = "hgeza06";
$connection = new mysqli($host, $userName, $password, $DBname);
if ($connection->connect_error) {
die("Error");
} else {
echo "Succes!";
}
?>
isset($_POST['cname'])
- 如果你有$_POST['cname']
将返回1
或如果你没有它则返回0
。
更好的方法是:
$companyName = isset($_POST['cname']) ? $_POST['cname'] : '' ; //add a empty value if is not filled
$address = isset($_POST['address']) ? $_POST['address'] : '';
$phoneNubmber = isset($_POST['phoneNubmber']) ? $_POST['phoneNubmber'] : '';
对于初学者,您的变量名称不一致。 您创建一个名为$companyName
的变量,然后尝试将其用作$cegnev
。 您的$phoneNubmber
变量也存在同样的问题(它本身也包含一个错字)。 使用您定义的变量。
一旦纠正...这将返回 boolean (true/false) 值:
isset($_POST['cname'])
所以你实际上是在你的数据库中插入true
值和false
值,它们被解释为1
和0
。 获取实际值:
$companyName = $_POST['cname'];
使用isset()
有条件地确定如果值已设置或未设置,您想要做什么,但不要使用它来尝试获取值本身。
最后,这很重要,您的代码对SQL 注入开放。 (或者无论如何,它只是巧合和错误,它目前不对它开放。)这里有很多关于如何处理的信息。 这很重要,因为 SQL 注入漏洞既是一个主要的安全漏洞(因此是允许继续的坏习惯),也是代码中非常常见的错误和意外行为的来源。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.