2011-10-17 3 views
0

更新を成功させると自動的にWebページに移動し、エラーがWebページに表示されるようにスクリプトを変更するにはどうすればよいですか?PHPを使用してmySQLを更新した後、カスタム成功と失敗のページを作成するのに助けが必要

私は成功か失敗かを表す2つの異なるWebページを持っていたいと思います。

ありがとうございました。

エリック

<?PHP 
session_start(); 
?> 

<?php 

$type=$_POST['type']; 
$part_no=$_POST['part_no']; 
$description=$_POST['description']; 
$count=$_POST['count']; 
$min=$_POST['min']; 
$max=$_POST['max']; 

$db="naturan8_hero"; 

$link = mysql_connect("localhost", "XXXXXX", "XXXXXX"); 
if (! $link) 
die("Couldn't connect to MySQL"); 
mysql_select_db($db , $link) 
or die("Couldn't open $db: ".mysql_error()); 
mysql_query(" UPDATE cartons_current SET type='$type' , description='$description' , 
count='$count' , min='$min' , max='$max' WHERE part_no='$part_no'"); 
echo "Record Updated"; 
mysql_close($link); 
?> 
+0

ストレートSQLへのユーザー入力を受け付けないようにしてくださいクエリ、最後のINSERT、UPDATEによって影響を受けた行の数を取得しますREPLACEまたはDELETE。これは、SQLインジェクション攻撃ベクトルを有効にします。 – Raz

答えて

0

ABCなどの簡単な - 置き換えると

mysql_query(" UPDATE cartons_current ..."); 
echo "Record Updated"; 

if(mysql_query("UPDATE cartons_current ...") && (@mysql_affected_rows() > 0)) { 
    header('Location: success.htm'); 
}else{ 
    header('Location: fail.htm'); 
} 

mysql_query() (...)SQL文の他のタイプの場合、INSERT、UPDATE 、DELETE、DROPなど、mysql_query()は成功した場合はTRUEを返し、エラーの場合はFALSEを返します。

mysql_affected_rows() -

+0

私はそれを底に加えたり、何かを置き換えていますか? – Erik

+0

相対URLではなくヘッダーロケーションの絶対URLを使用します。 –

+0

私はまだmysql_close($ link)が必要ですか? – Erik

0
$query = mysql_query(" UPDATE cartons_current SET type='$type' , description='$description',count='$count' , min='$min' , max='$max' WHERE part_no='$part_no'"); 

if($query) { 
    header('Location: success.htm'); 
}else{ 
    header('Location: fail.htm'); 
} 
+0

私はまだmysql_close($ link)が必要ですか? – Erik

+0

動作しません.... – Erik

関連する問題