Sublime Text 2到MySQL数据库连接无法正常工作

时间:2015-12-13 13:05:53

标签: php html mysql

我正在尝试将新的客户帐户创建详细信息转移到mySQL数据库,但是当我按下“创建”按钮时,会出现错误消息:'Safari无法找到该文件。地址/User/Filip/Desktop/Client_Information.php /.'

中没有文件存在

我的整个html和php脚本都放在桌面上的.html文件中,我认为它必须上传到某个地方?

这是我从数据库发送和接收的php代码:

<?php

$dbhost = "my_host_name";
$dbuser = "my_username";
$dbpass = "my_password";
$dbdata = "database_name";

if(!mysql_connect($name, $host, $user)){
    die('Could not connect: '.mysql_error());
}

else {
    $data = mysql_select_db($dbdata);
    if(!$data)
    {
        die('Could not use: '.$dbdata);
    }
}

$insert = "INSERT INTO Client_Information (first_name, last_name, email_address, phone_number, password, confirm_password) VALUES('".$_POST["first_name"]."', '".$_POST["last_name"]."', '".$_POST["email_address"]."', '".$_POST["phone_number"]."', '".$_POST["password"]."', '".$_POST["confirm_password"]."')";

var_dump($insert);
$handle = mysql_query($insert);
var_dump($handle);

?>

这是我所有输入的html代码的开头:

<!DOCTYPE html>
<html>
    <head>
        <link href='http://fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
        <div class="logo"></div>
        <div class="login-block">
        <h1>Create Account</h1>
        <form action="recieve_Client_Information.php" method="post">
          <input type="Text" value="" placeholder="First Name" id="first_name" />
          <input type="Text" value="" placeholder="Last Name" id="last_name" />
          <input type="Email" value="" placeholder="E-mail Address" id="email_address" />
          <input type="Number" value="" placeholder="Phone Number" id="phone_number" />
          <input type="Password" value="" placeholder="Password" id="password" />
          <input type="Password" value="" placeholder="Confirm Password" id="confirm_password" />
          <button>Create</button> 
        </form>
    </div>
</head>

任何人都可以发现任何错误吗?或者我需要添加的代码或我需要将脚本上传到的地方?

我正在使用MacBook Pro,我尝试过FileZilla,但它对我不起作用。

请帮助!

1 个答案:

答案 0 :(得分:1)

首先,我要告诉您,此代码并非打算在生产网站或应用中使用,它仅用于学习或举例。

在&#34;真实&#34;中使用它之前有很多事情需要解决。世界:

  • 不推荐使用MySQL,而是使用MySQLi或PDO连接到您的数据库
  • 表格上没有任何验证(电子邮件电话号码等)
  • 存储在数据库中的密码,没有任何预先验证,没有任何
    散列,没有任何最小化要求,像这里是一些东西 太荒谬了,请不要考虑将它用于真实。
  • 没有字符转义,代码注入无法控制......
  • 根本不安全

我希望你能理解我的意思。无论如何,以这种方式你的代码将起作用:

的index.html

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="chrome=1,IE=edge" />
    <title>Example for my friend Filip</title>
    <link href='http://fonts.googleapis.com/css?family=Montserrat:400,700' rel='stylesheet' type='text/css'>
</head>
<body>
    <div class="logo"></div>
    <div class="login-block">
        <h1>Create Account</h1>
        <form action="insert_data.php" method="post">
          <input type="Text" value="" placeholder="First Name" name="first_name" />
          <input type="Text" value="" placeholder="Last Name" name="last_name" />
          <input type="Email" value="" placeholder="E-mail Address" name="email_address" />
          <input type="Number" value="" placeholder="Phone Number" name="phone_number" />
          <input type="Password" value="" placeholder="Password" name="password" />
          <input type="Password" value="" placeholder="Confirm Password" name="confirm_password" />
          <button>Create</button> 
        </form>
    </div>
</body>


<!-- DON'T USE THIS CODE ON REAL WEBSITE, IT'S UNSAFE -->

insert_data.php

<?php

define('DB_HOST', 'your_host');
define('DB_NAME', 'your_db_name');
define('DB_USER','your_db_username');
define('DB_PASSWORD','your_db_password');

$con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysql_error());
$db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error());

$insert = "INSERT INTO Client_Information (first_name, last_name, email_address, phone_number, password, confirm_password) VALUES('".$_POST["first_name"]."', '".$_POST["last_name"]."', '".$_POST["email_address"]."', '".$_POST["phone_number"]."', '".$_POST["password"]."', '".$_POST["confirm_password"]."')";

var_dump($insert);
$handle = mysql_query($insert);
var_dump($handle);

?>

<!-- DON'T USE THIS CODE ON REAL WEBSITE, IT'S UNSAFE -->

您需要验证人们会在您的表单中插入哪些内容,您要检查第一个密码是否与第二个密码相同,您需要对密码进行哈希处理,并且必须避免代码注入的可能性。

我建议您考虑一个好的课程或使用像Wordpress这样的CMS来管理您的用户。

我提供的文件都必须在您的网络服务器上,因此您必须使用filezilla连接到您的网络服务器并上传它们。