0

これは私のコードです

<?php
include("inc/scripts/mysql_connect.inc.php");
?>
<?php
$reg = @$_POST['reg'];
    //Declaring Variables
        $fn = "";           //First Name
        $ln = "";           //Last Name
        $em = "";           //Email
        $em2 = "";          //Email Confirm
        $pswd = "";     //Password
        $pswd2 = "";        //Password Confirm
        $d = "";            //Sign Up Date
    //Registration Form
        $fn = strip_tags(@$_POST['first_name']);        //First Name
        $ln = strip_tags(@$_POST['last_name']);     //Last Name
        $em = strip_tags(@$_POST['email']);         //Email
        $em2 = strip_tags(@$_POST['email2']);           //Email Confirm
        $pswd = strip_tags(@$_POST['password']);        //Password
        $pswd2 = strip_tags(@$_POST['password2']);  //Password Confirm
        $d = date("Y-m-d");                        //Sign Up Date

if($reg) {
    if($fn&&$ln&&$em&&$em2&&$pswd&&$pswd2) {
        if($em==$em2){
            if($pswd==$pswd2) {
                if(strlen($fn)>32||strlen($ln)>32) {
                    echo "First name and Last name must be no more than 32 characters!";
                }
                else {
                    if(strlen($pswd)>30||strlen($pswd)<5) {
                        echo "Your password must be between 5 and 30 characters ...";
                    }
                    else {
                        $pswd = md5($pswd);
                        $pswd2 = md5($pswd2);
                        $query = mysql_query("INSERT INTO users VALUES('','$fn','$ln','$em','$pswd','$d','0')");
                        die("<h2>Welcome to bakpakk!</h2>");
                    }
                }
            }
            else {
                echo "Your passwords do not match!";
            }
        }
        else {
            echo "Your emails do not match!";
        }
    }
    else {echo "Please fill in all fields ...";}
}
?>

この情報をデータベースに投稿するのは、ユーザー ログイン システムです。「mysql_connect.inc.php」はこんな感じ

<?
    mysql_connect("localhost","root","250317") or die(myspq_error());
    mysql_select_db("bakpakk");
?>

入力フィールド (名、姓、電子メール、パスワードなど) にデータを入力すると、データベースのテーブルに投稿されません。理由が分からないようです。

4

2 に答える 2

1

考えられる複数の問題 (PHP の MySQl に関しては、私はプロではないことに注意してください):

宣言された変数を削除することから始めます。上記でそれらを "" として宣言してから、必要と想定している値として再度宣言します。

あなたが言うところ:

$query = mysql_query("INSERT INTO users VALUES('','$fn','$ln','$em','$pswd','$d','0')");

最初の変数が何もないように見えます。これにより (特にこれが主キーである場合)、MySQL が停止します。

次に試すことは次の 2 つです。

mysql_connect("localhost","root","250317") or die(myspq_error());

最後にタイプミスのようです。置き換えてみてください

or die (mysql_error()); 

試してもうまくいかない場合は、お知らせください:)頑張ってください!

アップデート:

これは、私が数か月前に書いた実際のデータベース接続と挿入の例です。エラーやタイプミスを検出するのに役立つと思いました。

<?php

/**
* @author Steven Byrne
* @copyright 2012
* @version 5.2
 */

  if(isset($_POST['btn'])){
     $btn       = mysql_real_escape_string($_POST['btn']);
     $username  = mysql_real_escape_string($_POST['username']);
     $email     = mysql_real_escape_string($_POST['email']);
     $name      = mysql_real_escape_string($_POST['name']);

          $link = mysql_connect('localhost','username','password') or die(mysql_error(). "Could not connect to database.");
 $dbsel= mysql_select_db('database', $link) or die("Couldn't select database");


    //Your validation code


    //MySQL

            $donation_date = date(Ymd);
    $sql = "INSERT INTO mcdonations (username,email,name,amount,date)
                           VALUES ('$username','$email','$name','$name','$donation_date')";
        $result = mysql_query($sql) or die(mysql_error() . "<P>" . $sql);
        exit();
    }
?>
于 2013-04-03T16:52:25.960 に答える