gpt4 book ai didi

php - 需要数据库输入帮助

转载 作者:行者123 更新时间:2023-11-30 00:56:14 25 4
gpt4 key购买 nike

嘿,我做了一个 pdo 注册表系统 - 但我使用了三个类 - 但我没有让它将电子邮件/密码插入注册表 - 它只是进入一个空白屏幕,没有输入。

下面是下面 3 个类的代码:

connect.php

<?php
class Connect{
public function dbConnex(){
return new PDO("mysql:host=localhost; dbname=demodatabase", "root","password");
}
}
?>

标题.php

<?php
include_once('Connect.php');
class Header{
public $odb;

public function __construct(){
$this->odb = new Connect();
$this->odb = $this->db->dbConnex();
}

public function Register($first_name, $last_name, $email_id, $password){
if(isset($_POST['first_name'])){
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email_id = $_POST['email_id'];
$password = $_POST['password'];
$q = "INSERT INTO demoregi(first_name, last_name, email_id, password) VALUES(:first_name, :last_name, :email_id, :password);";
$query = $odb->prepare($q);
$results = $query->execute(array(
":first_name" => $first_name,
":last_name" => $last_name,
":email_id" => $email_id,
":password" => $password
));
}
}
}
?>

Index.php

<?php
include_once('Header.php');
if(isset($_POST['submit'])){
$first_name= $_POST['first_name'];
$last_name = $_POST['last_name'];
$email_id = $_POST['email_id'];
$password = $_POST['password'];
$object = new Header();
$object -> Register($first_name, $last_name,$email_id,$password);
}
?>

<html>
<head>
</head>
<body>
<form method="post" action="header.php">
<br>First Name: <input type="text" id="first_name" name="first_name"/></br>
<br>Last Name: <input type="text" id= "last_name" name="last_name"/></br>
<br>Email: <input type="text" id="email_id" name="email_id"/></br>
<br>Password: <input type="password" id= "password" name="password"/></br>
<input type="submit" name="submit" value="Register"/>
</form>
</body>
</html>

那么如何让它将数据输入数据库呢?我没有收到任何错误消息 - 只是注册按钮将我重定向到一个空白屏幕。

问题的简单解决方案。希望得到一些帮助!谢谢一百万!!!

最佳答案

我看到了很多大错误。

第一。在你的index.php中你正在做:

$first_name= $_POST['first_name'];
$last_name = $_POST['last_name'];
$email_id = $_POST['email_id'];
$password = $_POST['password'];

$object = new Header();
$object -> Register($first_name, $last_name,$email_id,$password);

然后你再做一遍:

 public function Register($first_name, $last_name, $email_id, $password){
if(isset($_POST['first_name'])){

first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$email_id = $_POST['email_id'];
$password = $_POST['password'];
// other stuff

您不应在函数中依赖 $_POST 或 $_GET1.已经在参数中询问您需要什么。2. 在你的函数真正需要什么的问题上撒谎。永远不要依赖 super 全局来完成你的功能。

其次我建议你使用PDO::bindParam绑定(bind)你的值(value)观。

然后,您应该做的是告诉我们您遇到了什么错误!它可能是任何内容,从错误的列名到简单的拼写错误。为此,请执行以下操作:

var_dump($odb->errorInfo());

关于php - 需要数据库输入帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20523718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com