0

csform.php と process.php の 2 つのファイルがあります。Csform.php は、ユーザーがデータに入力して送信するフォームを含むメイン ページです。次に、process.php と SQL 接続があり、ユーザーがフォームに入力したデータを SQL サーバーに挿入します。データベース。しかし、submit がヒットすると、フォームに入力されたデータは挿入されず、process.php ファイルの 13 行目のデータが挿入されます。私が間違っているのは、2 つのファイル間に接続があるように見えないことです。これが私が現在持っているコーディングです:

csform.php:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSLog</title>
</head>
<h1> Customer Service Form </h1>
<form method="post" action="process.php"> 
<table width="300" border="0">
<tr>
<td> Forte ID:</td>
<td><select id="forteid" input name="forteid">                  
                <option value="user1">user1</option>
                <option value="user2">user2</option>
                <option value="user3">user3</option>
                <option value="user4">user4</option>                   
    </select></td>
 </tr>
 <tr>
 <td> Disposition</td>
 <td><select id="disposition" input name="disposition">                 
                <option value="Save">--Save--</option>
                <option value="Sale">--Sale--</option>
                <option value="LOC">--LOC--</option>                   
    </select> </td>
</tr>
</table>
<br />
<hr />        
<br /> 
<br /> 
<table width="400" border="0">
<tr>
<td>App Number:</td>
<td></td>
<td><input type="text" name="appnumber"></td>
</tr>
<tr>
<td>Finance Number:</td>
<td></td>
<td><input type="text" name = "Finance_Num"></td>
</tr>
<tr>
<td>Number Payments:</td>
<td></td>
<td><input type="text" name = "num_payments"></td>
</tr>
<tr>
<td>Ach or CC:</td>
<td></td>
<td><input type="text" name = "ach_cc"></td>
</tr>
<tr>
<td>Date:</td>
<td></td>
<td><input type="text" name = "date"></td>
</tr>
</table>
<br />
Notes: 
<br />
<textarea input name="text" id="notes" cols="45" rows="5"></textarea>
</fieldset>
<br />
<br /> 
<hr />
<br />
<br />            
<input type="submit" name="formSubmit" value="Submit">  <input type="Reset"        name="formReset" value="Reset"> 
</form> 
</head>
<body>
</body>
</html>

そして、process.php:

<?php
$serverName = 'SRB-Nick_Desktop\SQLEXPRESS';
$connectionInfo = array('Database'=>'cslogs', 'UID'=>'cslogslogin', 'PWD'=>'123456');
$connection = sqlsrv_connect($serverName, $connectionInfo);

if( $connection === false )
{
 echo "Connection could not be established.\n";
 die( print_r( sqlsrv_errors(), true));
}

$tsql = "INSERT INTO logs(ForteID, disposition, appnumber, Finance_Num, num_payments,   ach_cc, date, notes) VALUES (?,?,?,?,?,?,?,?)";
$parameters = array( "forteid", "LOC", "NCXXXXXXX4", "SRB-000004", "0", "cc", "2012-11-01", "gave LOC instructions");
$stmt = sqlsrv_query($connection, $tsql, $parameters);
if( $stmt === false ){
echo "Statement could not be executed.\n";
 die( print_r( sqlsrv_errors(), true));
} else {
echo "Rows affected: ".sqlsrv_rows_affected( $stmt )."\n";
}
/* Free statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $connection);
?>

うまくいけば、誰かが私を助けてくれるか、私が間違っていることを正しい方向に導くことができます.

4

2 に答える 2

2

csform.php

ではcsform.php、 に<select>は という単語は必要ありませんinput

変化する

<select id="forteid" input name="forteid">

<select id="forteid" name="forteid">

プロセス.php

ではprocess.php、 を使用して渡された変数を使用する必要があります$_POST[variable_name]。に を使用していますが、 から何も使用していませPOSTん。process.php$_POST

print_r($_POST);の上部で使用して、process.phpどの変数が渡されているかを確認できます。

于 2012-11-01T18:29:11.453 に答える
0

@njkの回答に基づいて構築するには、13行目を変更してパラメーターを受け入れる必要があるため、次のようになります。

$parameters = array($_POST[forteid], $_POST[disposition], $_POST[appnumber], $_POST[Finance_Num], $_POST[num_payments], $_POST[ach_cc], $_POST[date], $_POST[notes]);
于 2012-11-01T18:39:39.607 に答える