0

これは、ページをデータベース (MySQL) に接続するための私のコードです。

<html>
<body>
<title>Home</title>

<script language="javascript">


function checkTextField(field) {
    if (field.value == '') {
        alert("Field is empty");
    }
}


function a(id) {
    var ay = document.getElementById(id).value;

var pattern = /\d{4}-\d{2,4}/;

    if(pattern.test(ay))

    {

    ay.style.backgroundColor="#52F40C";
    return true;
        } 
    else 
    {
     window.alert ("Enter in YYYY-YY or YYYY-YYYY format");
    ay.style.backgroundColor="red";
     ay.focus();
         ay.value="";        
     return false;

    }
}


function c()
{


    var n=document.getElementById("name");

    var re=/^[a-zA-Z]+ ?[a-zA-Z]*$/;

    if(re.test(n.value))
    {

               n.style.backgroundColor="#52F40C";
    }
    else
    {
        window.alert("Invalid place name");
               n.style.backgroundColor="#F40C0C";
               n.focus();
               n.value="";

    }
}

function d()
{
 var n= document.getElementById("date");
 var re=/^(?:(0[1-9]|1[012])[\- \/.](0[1-9]|[12][0-9]|3[01])[\- \/.](19|20)[0-9]{2})$/;
  if (re.test(n.value))
  {
     n.style.backgroundColor="#52F40C";

  }
  else
  {
    window.alert("enter in MM DD YYYY format");
               n.style.backgroundColor="#F40C0C";
               n.focus();
               n.value="";

  }
}

</script>
<body style="background-color:#708090;">

<?php

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

    $mysqli= new mysqli("localhost","admin","admin", "nba" );

    if($mysqli === false)
    {
        die("could not connect:" . mysqli_connect_error());
    }

    if ($inputError != true && empty($_POST['ayear']) )
    {
        echo 'ERROR: Please enter a valid year';
        $inputError = true;
    }
    else
    {
        $ayear = $mysqli-> escape_string($_POST['ayear']);
    }

    if ($inputError != true && empty($_POST['fyear']) )
    {
        echo 'ERROR: Please enter a valid year';
        $inputError = true;
    }
    else
    {
        $fyear = $mysqli->  escape_string($_POST['fyear']);
    }   

    if ($inputError != true)
    {
        $sql="INSERT INTO year VALUES ('$ayear','$fyear')";
        if ($mysqli-> query($sql)==true)
        {
            echo'Added';
        }
        else
        {
            echo"ERROR: Could not execute query : $sql. " . $mysqli-> error;
        }
    }

    $mysqli-> close();

}
?> 







<h1 style="font-family:Verdana;text-align:center;">National Board of Accrediation <br>of<br> Programme</h1>
<br>

<div id="menu" style="background-color:#800000;height:25px;width:1000px">
<b><font "style="font-family:Verdana"><a href="part1.html" title="Institutional Summary"style="color: #000000">Part I</a>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<a href="part2.html"title="Departmental/Program Summary"style="color: #000000">Part II</a>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<a href="part3.html"title="Curricula,Syllabi,PEOs and POs"style="color: #000000">Part III</a>&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<a href="part4.html" title="List of Documents to be made available during the visit"style="color: #000000">Part IV</a></font></b>
</div>



</p>

<h4 style="font-family:Verdana;text-align:center;"><b><u>Declaration</u></b></h4>

<form method="post" action="home.html">

<p> (<input type="text" size="9"  name="ayear" id="ayear" onChange="a('ayear');" onBlur="checkTextField(this);">)  (<input type="text" size="9"  name="fyear" id="fyear" onChange="a('fyear');" onBlur="checkTextField(this);">).</p>




<p>Place:<input type="text" size="20" name="name" id="name" onChange="c();" onBlur="checkTextField(this);"></p>

<p>Date:<input type="text" size="10" name="date" id="date" onChange="d();" onBlur="checkTextField(this);">


<input type="submit" name="submit" value="Submit"/>
</form>
</body>
</html>

データベース接続が機能していません。どうすればこれを修正できますか? コードの問題は何ですか?

4

4 に答える 4

0

他の提案に加えて、いくつかの場所で -> の後に「スペース」を入れていることがわかりました。

例えば

$mysqli-> escape_string($_POST['ayear']);

する必要があります

$mysqli->escape_string($_POST['ayear']);
于 2013-02-05T10:32:52.697 に答える
0

HTML を PHP コードのように実行するように設定しない限り、動的コードは機能しません。

拡張子を付けてそのファイルのコピーを保存し、.php動作するかどうかをテストします。

于 2013-02-05T07:20:43.990 に答える
0

ファイルの拡張子を .php に変更します

さらに、フォーム アクションに PHP 拡張機能を含めます。以下のように

<form method="post" action="home.php">
于 2013-02-05T09:23:07.113 に答える
0

phpコードを実行しようとしている理由拡張子を付けHTMl てファイルを保存すると、.php確実に機能します。

于 2013-11-30T17:31:25.047 に答える