2013-08-28 8 views
0

есть 2 страницы, один является основным, а другой входит в негопередавая значение переменной PHP

основной страницы

<?php 
$var_value = 7; 
$_SESSION['varname'] = $var_value; 
include 'upload_image.php'; 
?> 

и включены страницы

<?php 
include 'init.php'; 

if (!logged_in()) { 
header('Location: index.php'); 
exit(); 
} 

include 'template/header.php'; 
?> 

<h3>Upload image</h3> 

<?php 

if (isset($_FILES['image'], $_POST['image_n'], $_POST['image_description'])) { 
$image_name = $_FILES['image']['name']; 
$bytes = $_FILES['image']['size']; 
$image_temp = $_FILES['image']['tmp_name']; 
$image_n = $_POST['image_n']; 
$image_description = $_POST['image_description']; 

$allowed_ext = array('jpg', 'jpeg', 'png', 'gif', 'rar', 'pdf'); 
//$image_ext = strtolower(end(explode('.', $image_name))); 

$image_ext = pathinfo($image_name, PATHINFO_EXTENSION); 

$album_id = $_SESSION['varname']; 

$errors = array(); 

if (empty($image_name) || empty($album_id) || empty($image_n) ||   empty($image_description)) { 

    $errors[] = 'Something is missing'; 
} else { 

if (strlen($album_name) > 55 || strlen($album_description) > 255) { 
     $errors[] = 'One or more fields contains too many characters'; 
    } 

if (in_array($image_ext, $allowed_ext) === false) { 
    $errors[] = 'File type not allowed'; 

} 

//if ($image_size > 2097152) { 
// $errors[] = 'Maximum file size is 2mb'; 
//} 

if (album_check($album_id) === false) { 
    $errors[] = 'Couldn\'t upload to that album'; 
} 

} 

if (!empty($errors)) { 
    foreach ($errors as $error) { 
     echo $error, '<br />'; 
    } 

} else { 
    $byte = formatSizeUnits($bytes); 
    upload_image($image_temp, $image_ext, $album_id, $image_n, $image_description, $byte); 
    header('Location: view_album.php?album_id='.$album_id); 
    exit(); 
} 
} 

$albums = get_albums(); 

if (empty($albums)) { 
echo'<p>You don\'t have any albums. <a href="create_album.php">Create an album</a></p>'; 
} else { 
?> 

<form action="" method="post" enctype="multipart/form-data"> 
<div class="choose"> 
    <p>Choose a file:<br /><input type="file" name="image" /></p> 
    </div> 
     <div class="des"> 
     <p>Name*:<br /><input type="text" name="image_n" maxlength="55"/></p> 
     <p>Description*:<br /><textarea name="image_description" rows="6" cols="35" maxlength="255"></textarea></p> 


    <p><input type="submit" value="Upload" /></p> 
    </div> 
</form> 
<div class="foot"> 
<?php 
} 

include 'template/footer.php'; 
?> 
</div> 

форма в конец второй страницы не загружается .. но когда я удаляю первую строку на главной странице $ var_value = 7; форма в конце нагрузки .. я не знаю, в чем проблема, или есть другой способ установить значение альбома в главном и передать его на прилагаемую страницу.

+0

отсутствует 'session_start()' –

+0

@Dagon Nah ... ОП просто не опубликовал его. Они никогда не помнят. ... ах, но опять же. –

+0

Каково значение '$ var_value', если вы не переустановите его? Вложенный файл использует '$ _SESSION ['varname']' в качестве идентификатора альбома для поиска, поэтому вы меняете идентификатор. – Barmar

ответ

1

Если нет найдено в $album_id проблем, которая устанавливается из $var_value, включаемого файл делает:

$byte = formatSizeUnits($bytes); 
upload_image($image_temp, $image_ext, $album_id, $image_n, $image_description, $byte); 
header('Location: view_album.php?album_id='.$album_id); 
exit(); 

Так он никогда не попадет в ту часть, которая отображает форму.

+0

, когда я удаляю var_value = 7; форма груз !! – user2687618

+0

Он выходит только в том случае, если нет проблем с '$ album_id'. Если вы не установите '$ var_value', тогда' $ album_id' будет неопределенным, и это проблема. Таким образом, он отображает ошибку, а затем отображает форму. – Barmar

+0

так почему он не загружается, когда я кладу $ var_value = 7; ? – user2687618

0

Второй код включен? Если это так, чем вы можете просто использовать

$album_id = $var_value 

Вместо:

$album_id = $_SESSION['varname']; 

во втором мире кода ... Нет необходимости в сеансе.

+0

Я попробовал, но форма в конце все еще не загружается – user2687618

+0

Я подозреваю, что включенный файл предназначен для использования от нескольких абонентов, поэтому он не может принять определенную переменную в вызывающем. – Barmar

Смежные вопросы