2017-09-21 19 views
0

ヘルプ、POSTデータを処理できず、イメージングのアップロードプロセスを処理できません

私は自分のプロジェクトにWAMPサーバーを使用しています。 私は画像をアップロードして表示するphoto_gallery.phpページを作成しました。画像を選択してアップロードボタンをクリックするとloginform_phpに移動し、ここにユーザ名&のパスワードを入力します。検証後 Login.php

<?php 
$usr="root"; 
$pwd="root"; 
$username=$_POST['username']; 
$password=$_POST['password']; 
if(($username==$usr) && ($password==$pwd)) 
{ 
    header('Location: ./upload.php'); 
} 
else 
{ 
    echo '<br>login unsuccessfull'; 
} 
?> 

、それはどこupload.phpにリダイレクト: loginform.php

<form id='login' action='login.php' method='post' accept-charset='UTF-8'> 
<fieldset > 
<legend>Login</legend> 
<input type='hidden' name='submitted' id='submitted' value='1'/> 
<label for='username' >UserName*:</label> 
<input type='text' name='username' id='username' maxlength="10" /> 
<label for='password' >Password*:</label> 
<input type='password' name='password' id='password' maxlength="10" /> 
<input type='submit' name='Submit' value='Submit' /> 
</fieldset> 
</form> 

次に、それは私が暗黙的にユーザー名とパスワードを保存した場所login.phpへ移動しますアップロードプロセスを処理する必要がありますが失敗し、エラーがスローされます。 upload.php

$errors = array(); 
$uploadedFiles = array(); 
$extension = array("jpeg","jpg","png","gif","JPG","JPEG","GIF","PNG"); 
$bytes = 1024; 
$KB = 100024; 
$totalBytes = $bytes * $KB; 
$UploadFolder = "./images"; 

$counter = 0; 

foreach($_FILES["files"]["tmp_name"] as $key=>$tmp_name) //throws an error 
{ 
    $temp = $_FILES["files"]["tmp_name"][$key]; 
    $name = $_FILES["files"]["name"][$key]; 

    if(empty($temp)) 
    { 
     break; 
    } 
} 

エラーは次のとおりです。

click here to view

PS:私は検証を行い、直接選択時に写真をアップロードしていない場合は、upload.phpは完全に正常に動作し、写真をアップロードします。 photo_gallery.phpで

フォーム

<form action="./loginform.php" method="post" enctype="multipart/form-data"> 
    Select image to upload: 
    <input type="file" name="files[]" multiple="multiple" id="fileToUpload"> 
    <input type="submit" value="Upload Image" name="submit"> 
</form> 

ありがとう!

+0

リダイレクトの後にブラウザがGETリクエストを出した後、upload.phpにPOSTデータがありません。実際のアップロードとはまったく関係のないスクリプトで後でアクセスできるようにするには、POSTデータとファイルをlogin.phpスクリプトのどこかに保存する必要があります。 – CBroe

+0

'header( 'Location:./upload.php');' - これはまったく新しいリクエストなので、何も投稿されません!ログイン後にupload.phpで要求することはできませんか? – delboy1978uk

+0

私はそれを行うプロセスを知らない、それで私を助けてください。 –

答えて

0

1つの投稿フォームから別の投稿フォームにリダイレクトすると、以前の投稿/取得変数がクリアされます。

投稿でlogin.phpにアクセスすると、post/getで前のページ投稿変数($ _ POST、$ _ FILESなど)がクリアされます。 login.phpからupload.phpにリダイレクトすると空の$ _FILESオブジェクトが送られます。 $ _FILESオブジェクトをlogin.php(検証後)にリダイレクトする前に1つのセッション変数に保存し、login.phpファイルから到達したときにセッション変数でupload.phpにアクセスできます。

+0

ここでは、セッション変数を格納する必要があります。**検証後に**によって混乱します** –

+0

ヘッダー( 'Location:./login.php')にリダイレクトする前にセッション変数に格納する必要があります。 – Sucharitha

+0

それは 'loginform.php'になければなりません。 –

関連する問題