注册错误php,mysql,数据库中没有数据 [英] Registration Error php, mysql, no data in database

查看:41
本文介绍了注册错误php,mysql,数据库中没有数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在通过论坛等连接注册时被卡住了几天.页面上似乎没有错误,但是当我查看 phpMyAdmin 时,它没有显示插入到数据库中的注册信息.

register.php

<script>alert('注册成功');</script><?php}别的{?><script>alert('注册时出错...');</script><?php}}?>

registration.php

<!--[如果 IE 9 ]><html class="ie9"><![endif]--><头><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/><meta name="format-detection" content="telephone=no"><meta charset="UTF-8"><meta name="description" content="违反响应式管理模板"><meta name="keywords" content="超级管理员、管理员、模板、引导程序"><title>超级管理员响应模板</title><!-- CSS --><link href="css/bootstrap.min.css" rel="样式表"><link href="css/form.css" rel="样式表"><link href="css/style.css" rel="stylesheet"><link href="css/animate.css" rel="样式表"><link href="css/generics.css" rel="样式表"><body id="skin-blur-violate"><section id="登录"><标题><h1>超级管理员</h1><p>Lorem ipsum dolor sat amet, consectetur adipiscing elit.Nulla eu risus.Curabitur commodo lorem fringilla enim feugiat commodo sed ac lacus.</p></标题><div class="clearfix"></div><!-- 登录--><form class="box tile animation active" id="box-login"><!-- 注册--><?php require_once("register.php");?><form class="box animation tile" id="box-register" method="post"><h2 class="m-t-0 m-b-15">注册</h2><input type="text" class="login-control m-b-10" placeholder="Full Name" name="fname" required/><input type="text" class="login-control m-b-10" placeholder="Username" name="uname" required/><input type="email" class="login-control m-b-10" placeholder="Email Address" name="email" required/><input type="password" class="login-control m-b-10" placeholder="Password" name="pass" required/><button class="btn btn-sm m-r-5" type="submit">注册</button><small><a class="box-switcher" data-switch="box-login" href="">已有账户?</a></small></表单><!-- 忘记密码--></节><!-- Javascript 库--><!-- jQuery --><script src="js/jquery.min.js"></script><!-- jQuery 库--><!-- 引导程序--><script src="js/bootstrap.min.js"></script><!-- 表单相关--><script src="js/icheck.js"></script><!-- 自定义复选框 + 单选框 - -><!-- 所有 JS 函数--><script src="js/functions.js"></script></html>

我已经编辑了代码以帮助我解决同样的问题,但许多似乎都在正确的轨道上.我交替使用 mysql 和 mysqli.我查看了我的 dbconnect.php 文件,发现以下内容看起来我还需要更改以使其与在其他区域显示的 mysqli 一致.在正确的轨道上,但还没有.

我刚刚发现虽然 dbconnect.php 正在部署 mysql 版本而不是 mysql 版本,但有任何想法吗?

我刚刚发现虽然 dbconnect.php 正在部署 mysql 版本而不是 mysql 版本,但有任何想法吗?

dbconnect.php

'.mysql_error());}if(!mysql_select_db("正确的数据库")){die('糟糕的数据库选择问题!-->'.mysql_error());}?>

根据开始的回复,我发现很多我们正在帮助我走上正轨......这里是其他相关文件,因为总体主题是我正在交换 mysql 和 mysqli.它的一部分最初似乎有效,但现在一切都分崩离析了,所以如果有人能帮我把它们重新组合在一起,请再次感谢.发布到数据库后我仍然没有回应,这就是我进行编辑的原因.

index.php

<script>alert('错误的细节');</script><?php}}?>

只是为了展示我在这个过程中的所有内容....我还放入了我的 login.php 文件,所以希望我能解决所有问题.

login.php

<!--[如果 IE 9 ]><html class="ie9"><![endif]--><头><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/><meta name="format-detection" content="telephone=no"><meta charset="UTF-8"><meta name="description" content="违反响应式管理模板"><meta name="keywords" content="超级管理员、管理员、模板、引导程序"><title>超级管理员响应模板</title><!-- CSS --><link href="css/bootstrap.min.css" rel="样式表"><link href="css/form.css" rel="样式表"><link href="css/style.css" rel="stylesheet"><link href="css/animate.css" rel="样式表"><link href="css/generics.css" rel="样式表"><body id="skin-blur-violate"><section id="登录"><标题><h1>超级管理员</h1><p>Lorem ipsum dolor sat amet, consectetur adipiscing elit.Nulla eu risus.Curabitur commodo lorem fringilla enim feugiat commodo sed ac lacus.</p></标题><div class="clearfix"></div><!-- 登录--><?php require_once("index.php");?><form class="box tile animation active" id="box-login"><h2 class="m-t-0 m-b-15">登录</h2><input type="text" class="login-control m-b-10" placeholder="用户名或电子邮件地址"><input type="password" class="login-control" placeholder="密码"><div class="checkbox m-b-20"><标签><输入类型=复选框">记得我

<button type="submit" name="btn-login" class="btn btn-sm m-r-5">登录</button><小><a href="registration.php">没有帐户?</a>或者<a class="box-switcher" data-switch="box-reset" href="">忘记密码?</a></小></表单><!-- 忘记密码--><form class="box animation tile" id="box-reset"><h2 class="m-t-0 m-b-15">重置密码</h2><p>Lorem ipsum dolor sat amet, consectetur adipiscing elit.Nulla eu risus.Curabitur commodo lorem fringilla enim feugiat commodo sed ac lacus.</p><input type="email" class="login-control m-b-20" placeholder="Email Address"><button class="btn btn-sm m-r-5">重置密码</button><small><a class="box-switcher" data-switch="box-login" href="">已有账户?</a></small></表单></节><!-- Javascript 库--><!-- jQuery --><script src="js/jquery.min.js"></script><!-- jQuery 库--><!-- 引导程序--><script src="js/bootstrap.min.js"></script><!-- 表单相关--><script src="js/icheck.js"></script><!-- 自定义复选框 + 单选 --><!-- 所有 JS 函数--><script src="js/functions.js"></script></html>

解决方案

错误

  1. 您正在冲突 mysqlmysqli.
  2. name 属性未在此处定义
  3. register.php 中,您检查 isset 与一个类这将永远行不通 如果(isset($_POST['btn-signup']))
  4. 以及您的 Form name 字段和检索字段错误.(form - placeholder="Full Name" name="fname"/在代码中 - mysql_real_escape_string($_POST['fullname']))

<小时>

改进

<块引用>

使用empty()关键字来检查变量是否为空或为空

改变这个

if(isset($_SESSION['user'])!=""){header("位置:home.php");}

到这里

if(!empty($_SESSION['user'])){header("位置:home.php");}

<小时>

Bug 修复代码

register.php

if(isset($_POST['register'])){$fname = mysqli_real_escape_string($conn, $_POST['fname']);$uname = mysqli_real_escape_string($conn, $_POST['uname']);$email = mysqli_real_escape_string($conn, $_POST['email']);$upass = md5(mysqli_real_escape_string($conn, $_POST['pass']));$sql = "INSERT INTO users(fullname,username,email,password) VALUES('$fname','$uname','$email','$upass')";如果(mysqli_query($conn,$sql)){?><脚本>alert('注册成功');<?php}别的{?><脚本>alert('注册时出错...');<?php}}

registration.php

I've been stuck for a couple days connecting the registration looking through forums etc. No error seems to populate on the page, but when I take a look at phpMyAdmin it doesn't show the registration info inserted in the db.

register.php

<?php

session_start();

if(isset($_SESSION['user'])!="")

{

    header("Location: home.php");

}
$servername = "correctly inserted info";
$username = "correctly inserted info";
$password = "correctly inserted info";
$dbname = "correctly inserted info";

$conn = new mysqli($servername, $username, $password, $dbname);



if(isset($_POST['btn-signup']))

{
$fname = mysql_real_escape_string($_POST['fullname']);

$uname = mysql_real_escape_string($_POST['username']);

$email = mysql_real_escape_string($_POST['email']);

$upass = md5(mysql_real_escape_string($_POST['password']));


 if(mysql_query("INSERT INTO users(fullname,username,email,password)  VALUES('$fname','$uname','$email','$upass')"))


{

    ?>

    <script>alert('successfully registered');</script>

    <?php

}

else

{

    ?>

    <script>alert('error while registering you...');</script>

    <?php

}

}

?>

registration.php

<!DOCTYPE html>
<!--[if IE 9 ]><html class="ie9"><![endif]-->
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
    <meta name="format-detection" content="telephone=no">
    <meta charset="UTF-8">

    <meta name="description" content="Violate Responsive Admin Template">
    <meta name="keywords" content="Super Admin, Admin, Template, Bootstrap">

    <title>Super Admin Responsive Template</title>

    <!-- CSS -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="css/form.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
    <link href="css/animate.css" rel="stylesheet">
    <link href="css/generics.css" rel="stylesheet"> 
 </head>
  <body id="skin-blur-violate">
    <section id="login">
        <header>
            <h1>SUPER ADMIN</h1>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.  Nulla eu risus. Curabitur commodo lorem fringilla enim feugiat commodo sed ac lacus.</p>
        </header>

        <div class="clearfix"></div>

       <!-- Login -->
        <form class="box tile animated active" id="box-login">

        <!-- Register -->
        <?php require_once("register.php"); ?>

        <form class="box animated tile" id="box-register" method="post">

            <h2 class="m-t-0 m-b-15">Register</h2>
            <input type="text" class="login-control m-b-10" placeholder="Full Name" name="fname" required/>
            <input type="text" class="login-control m-b-10" placeholder="Username" name="uname" required/>
            <input type="email" class="login-control m-b-10" placeholder="Email Address" name="email" required/>    
            <input type="password" class="login-control m-b-10" placeholder="Password" name="pass" required/>

            <button class="btn btn-sm m-r-5" type="submit">Register</button>

            <small><a class="box-switcher" data-switch="box-login"  href="">Already have an Account?</a></small>
        </form>

        <!-- Forgot Password -->

    </section>                      

    <!-- Javascript Libraries -->
    <!-- jQuery -->
    <script src="js/jquery.min.js"></script> <!-- jQuery Library -->

        <!-- Bootstrap -->
        <script src="js/bootstrap.min.js"></script>

        <!--  Form Related -->
        <script src="js/icheck.js"></script> <!-- Custom Checkbox +  Radio -    ->

        <!-- All JS functions -->
        <script src="js/functions.js"></script>
    </body>
</html>

I've editing the code to help cause I'm still coming up with the same issue, but many seem to be on the right track. I was using mysql and mysqli interchangeably. I looking in my dbconnect.php file and found the following which looks like I'll also need to change to make it uniform with the mysqli being displayed in other areas. On the right track, but not there yet.

I just found though that dbconnect.php is deploying the mysql version and not the mysql version any thoughts?

I just found though that dbconnect.php is deploying the mysql version and not the mysql version any thoughts?

dbconnect.php

<?php

if(!mysql_connect("correct host","correct username","correct password"))

{

die('oops connection problem ! --> '.mysql_error());

}

if(!mysql_select_db("correct db"))

{

die('oops database selection problem ! --> '.mysql_error());

}



?>

Based on the starting responses I found that many we're helping me get on the right track...here are the other correlating files since the general theme is I am interchanging mysql and mysqli. Parts of it seemed to work initially but now it's all coming apart so if anyone can help me put it all back together again appreciate it. I'm still having no response from posting to the database which is why I'm making the edits.

index.php

<?php

session_start();

include_once 'dbconnect.php';



if(isset($_SESSION['user'])!="")

{

header("Location: home.php");

}



if(isset($_POST['btn-login']))

{

$email = mysql_real_escape_string($_POST['email']);

$upass = mysql_real_escape_string($_POST['pass']);

$res=mysql_query("SELECT * FROM users WHERE email='$email'");

$row=mysql_fetch_array($res);



if($row['password']==md5($upass))

{

    $_SESSION['user'] = $row['user_id'];

    header("Location: home.php");

}

else

{

    ?>

    <script>alert('wrong details');</script>

    <?php

}



}

?>

Just so I'm showing all I have in this process....I'm also putting in my login.php file so hopefully I can get this all resolved.

login.php

<!DOCTYPE html>
<!--[if IE 9 ]><html class="ie9"><![endif]-->
<head>
    <meta name="viewport" content="width=device-width, initial-    scale=1.0, maximum-scale=1.0" />
    <meta name="format-detection" content="telephone=no">
    <meta charset="UTF-8">

    <meta name="description" content="Violate Responsive Admin Template">
    <meta name="keywords" content="Super Admin, Admin, Template, Bootstrap">

    <title>Super Admin Responsive Template</title>

    <!-- CSS -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="css/form.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
    <link href="css/animate.css" rel="stylesheet">
    <link href="css/generics.css" rel="stylesheet"> 
</head>
<body id="skin-blur-violate">
    <section id="login">
        <header>
            <h1>SUPER ADMIN</h1> 
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu risus. Curabitur commodo lorem fringilla enim feugiat commodo sed ac lacus.</p>
        </header>

        <div class="clearfix"></div>

        <!-- Login -->
        <?php require_once("index.php"); ?>

 <form class="box tile animated active" id="box-login">
            <h2 class="m-t-0 m-b-15">Login</h2>
            <input type="text" class="login-control m-b-10" placeholder="Username or Email Address">
            <input type="password" class="login-control" placeholder="Password">
            <div class="checkbox m-b-20">
                <label>
                    <input type="checkbox">
                    Remember Me
                </label>
            </div>
            <button type="submit" name="btn-login" class="btn btn-sm m-r-5">Sign In</button>

            <small>
                <a href="registration.php">Don't have an Account?</a> or
                <a class="box-switcher" data-switch="box-reset" href="">Forgot Password?</a>
            </small>
        </form>

        <!-- Forgot Password -->
        <form class="box animated tile" id="box-reset">
            <h2 class="m-t-0 m-b-15">Reset Password</h2>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu risus. Curabitur commodo lorem fringilla enim feugiat commodo sed ac lacus.</p>
            <input type="email" class="login-control m-b-20" placeholder="Email Address">    

            <button class="btn btn-sm m-r-5">Reset Password</button>

            <small><a class="box-switcher" data-switch="box-login" href="">Already have an Account?</a></small>
        </form>
    </section>                      

    <!-- Javascript Libraries -->
    <!-- jQuery -->
    <script src="js/jquery.min.js"></script> <!-- jQuery Library -->

    <!-- Bootstrap -->
    <script src="js/bootstrap.min.js"></script>

    <!--  Form Related -->
    <script src="js/icheck.js"></script> <!-- Custom Checkbox + Radio -->

    <!-- All JS functions -->
    <script src="js/functions.js"></script>
 </body>
</html>

解决方案

Errors

  1. You are conflicting mysql and mysqli.
  2. name attribute is not define on here <button class="btn btn-sm m-r-5" type="submit">Register</button>
  3. In register.php you check isset with an class, This will never works if(isset($_POST['btn-signup']))
  4. As well as your Form name field and retrieve fields are wrong.(form - placeholder="Full Name" name="fname"/ in code - mysql_real_escape_string($_POST['fullname']))


Improvements

To check variable is null or empty use empty() keyword

Change this

if(isset($_SESSION['user'])!="")

{

    header("Location: home.php");

}

to this

if(!empty($_SESSION['user'])){
    header("Location: home.php");
}


Bug Fixed code

In register.php

if(isset($_POST['register'])){

    $fname = mysqli_real_escape_string($conn, $_POST['fname']);
    $uname = mysqli_real_escape_string($conn, $_POST['uname']);
    $email = mysqli_real_escape_string($conn, $_POST['email']);
    $upass = md5(mysqli_real_escape_string($conn, $_POST['pass']));

    $sql = "INSERT INTO users(fullname,username,email,password)  VALUES('$fname','$uname','$email','$upass')";
     if(mysqli_query($conn, $sql))
    {
        ?>
        <script>
            alert('successfully registered');
        </script>
        <?php
    }
    else{
        ?>
        <script>
            alert('error while registering you...');
        </script>
        <?php
    }

}

In registration.php

<button class="btn btn-sm m-r-5" type="submit" name="register">Register</button>

这篇关于注册错误php,mysql,数据库中没有数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆