0

何が悪いのか見ようとして疲れてきました。私は2つのphpを持っています。最初から変数 'select1' (基本的には id) を 2 番目に送信し、pdf ファイルをアップロードしてそのレコードを更新したいと考えています。

$id = "-1";
if (isset($_GET['select1'])) {
  $id = mysql_real_escape_string($_GET['select1']);
}



if(isset($_POST['Submit'])) {
    $my_upload->the_temp_file = $_FILES['upload']['tmp_name'];
    $my_upload->the_file = $_FILES['upload']['name'];
    $my_upload->http_error = $_FILES['upload']['error'];
    if ($my_upload->upload()) { // new name is an additional filename information, use this to rename the uploaded file
        mysql_query(sprintf("UPDATE sarcini1 SET file_name = '%s' WHERE id_sarcina = '%s'", $my_upload->file_copy, $id));
    }
}

次のように、有効なIDを含む行を配置すると:

$id = 14;

それは働いています。私が間違っていることは何ですか?ありがとうございました!

4

2 に答える 2

1

GETとPOSTの両方を同時に使用しています。私が見る限り、この条件はTrueを返していません

if (isset($_GET['select1']))

編集:上記で答えが見つからない場合; おそらく、より多くの情報/コードが解決策にたどり着くのに役立つでしょう。

于 2012-09-14T07:04:06.637 に答える
1

post と get の両方を受け入れる必要がある場合は、以下のコードのようなものを試して変数を取得する必要があります。

$var = 'select1';
if( isset( $_POST[$var] ) ) {
    $id = $_POST[$var];
} else if( isset( $_GET[$var] ) ) {
    $id = $_GET[$var];
} else {
    $id = -1;
}
于 2012-09-14T07:19:12.617 に答える