Bonsoir à tous & toutes!
J'ai le problème suivant :
La transmission de variables d'une page php par formulaire vers une page appelée ne se fait pas.
j'ai essayé en transformant les variables en global, et j'ai essayé en appelant les données inscrites dans le fichier de session comme suit :
$last_story_id = ($_SESSION['story_id']);
$user_id = ($_SESSION['myuserid']);
mais les données ne sont pas passées, alors que le formulaire faisant appel à script.php obtient sans problème les données de session...
J'apprécierai énormément si quelqu'un peut m'aider sur ce sujet ...
Voici les deux pages (le formulaire est lui-même inclus dans une autre page):
<title>Travelised.com - upload some pictures for your travelised story</title>
<!-- dynamic assets -->
<script type="text/javascript" src="upload/mootools-1.2-core-nc.js"></script>
<script type="text/javascript" src="upload/Swiff.Uploader.js"></script>
<script type="text/javascript" src="upload/Fx.ProgressBar.js"></script>
<script type="text/javascript" src="upload/FancyUpload2.js"></script>
<script type="text/javascript" src="upload/index.js"></script>
<h2 class="title2">Your story has been created!</h1>
<h3 class="title3">Now it's time to add some pictures ...</h2>
<form action="upload/script.php" method="post" enctype="multipart/form-data" id="form-demo">
<fieldset id="upload-fallback">
<legend>File Upload</legend>
<p>
Selected your photo to upload.<br />
<strong>If you see this field, you will have to turn on Javascript in order to upload pictures.</strong>
</p>
<label for="upload-photoupload">
Upload Photos:
<input type="file" name="photoupload" id="upload-photoupload" />
</label>
</fieldset>
<?php
/* $story_id=$_SESSION['story_id'];
echo $user_id."<br />\r\n"; echo $_SESSION['story_id']."<br />\r\n"; echo $story_id."<br />\r\n";
$path_user_dir="../users/".$user_id;
$path_img_dir=$path_user_dir."/".$story_id;
echo $path_user_dir."<br />\r\n";
echo $path_img_dir."<br />\r\n";
echo $_SESSION['story_id']."<br />";
echo $_SESSION['myuserid']."<br />";
*/
echo $last_story_id;
echo $user_id;
?>
<div id="upload-status" class="hide">
<p>
<a href="#" id="upload-browse">Browse Files</a> |
<input type="checkbox" id="upload-select-images" checked="yes"/> Images Only |
<a href="#" id="upload-clear">Clear List</a> |
<a href="#" id="upload-upload">Upload</a>
</p>
<div>
<strong class="overall-title">Overall progress</strong><br />
<img src="upload/assets/progress-bar/bar.gif" class="progress overall-progress" />
</div>
<div>
<strong class="current-title">File Progress</strong><br />
<img src="upload/assets/progress-bar/bar.gif" class="progress current-progress" />
</div>
<div class="current-text"></div>
</div>
<ul id="upload-list"></ul>
</form>
et le fichier php appelé :
<?php
if(!isset($_SESSION))
{
session_start();
};
include("JSON.php");
$result = array();
$last_story_id = ($_SESSION['story_id']);
$user_id = ($_SESSION['myuserid']);
$path_user_dir="../users/".$user_id;
$path_img_dir=$path_user_dir."/".$last_story_id;
if(!is_dir($path_user_dir)){
mkdir($path_user_dir, 0777, true);
if(!is_dir($path_img_dir)){
mkdir($path_img_dir, 0777, true);
}
}elseif(!is_dir($path_img_dir)){
mkdir($path_img_dir, 0777, true);
}elseif((is_dir($path_user_dir))&&(is_dir($path_img_dir))){
}
/*$path_to_user_directory = '../users/' . $user_id ;
$path_to_image_directory = $path_to_user_directory. '/' . $last_story_id . '/';
if(!is_dir($path_to_user_directory)){
mkdir($path_to_user_directory, 0777, true);
}
if(!is_dir($path_to_image_directory)){
mkdir($path_to_image_directory, 0777, true);
} */
if (isset($_FILES['photoupload']) )
{
$file = $_FILES['photoupload']['tmp_name'];
$error = false;
$size = false;
if (!is_uploaded_file($file) || ($_FILES['photoupload']['size'] > 2 * 1024 * 1024) )
{
$error = 'Please upload only files smaller than 2Mb!';
}
if (!$error && !($size = @getimagesize($file) ) )
{
$error = 'Please upload only images smaller than 2Mb, no other files are supported.';
}
if (!$error && !in_array($size[2], array(1, 2, 3, 7, 8) ) )
{
$error = 'Please upload only images smaller than 2Mb, no other files are supported..';
}
if (!$error && ($size[0] < 25) || ($size[1] < 25))
{
$error = 'Please upload only images smaller than 2Mb, no other files are supported.';
}
else {
move_uploaded_file($_FILES['photoupload']['tmp_name'], $path_img_dir.$_FILES['photoupload']['name']);
chmod($path_img_dir.$_FILES['photoupload']['name'], 0777);
}
$addr = gethostbyaddr($_SERVER['REMOTE_ADDR']);
$log = fopen('script.log', 'a');
fputs($log, ($error ? 'FAILED' : 'SUCCESS') . ' - ' . preg_replace('/^[^.]+/', '***', $addr) . ": {$_FILES['photoupload']['name']} - {$_FILES['photoupload']['size']} byte\n" );
fclose($log);
if ($error)
{
$result['result'] = 'failed';
$result['error'] = $error;
}
else
{
$result['result'] = 'success';
$result['size'] = "Uploaded an image ({$size['mime']}) with {$size[0]}px/{$size[1]}px.";
}
}
else
{
$result['result'] = 'error';
$result['error'] = 'Missing file or internal error!';
}
if (!headers_sent() )
{
header('Content-type: application/json');
}
echo json_encode($result);
?>