2016-06-07 4 views
0

Я очень старался выяснить, как сохранить значение элемента (изображения) на другой странице (что-то.php), когда кто-то клики по ссылке.Сохраните значения элемента при нажатии на ссылку на другую страницу

HTML:

<div class="slide-body" data-group="slide"> 
 

 
    <img src="assets/img/slide-1.jpg" name="Image 1"> 
 

 
    <div class="caption add-box" data-animate="slideAppearRightToLeft"> 
 
    <a href="#" class="butn btn btn-default">Add</a> 
 
    </div> 
 
</div>

В приведенном выше коде, что я хочу сделать, это нажать на кнопку «Добавить», а затем сохранить «имя» изображения в другой файл с именем "файл-2.php". После этого я также хочу иметь возможность вызывать это значение из «file-2.php», когда это необходимо.

Пожалуйста, предложите любое решение, которое может это сделать. Любая помощь приветствуется.

Заранее спасибо.

+1

Где ваши коды на сервере? – gdlmx

ответ

0

Вы можете использовать строку запроса для передачи информации на страницу PHP с использованием ссылки. Например:

<div class="slide-body" data-group="slide"> 

    <img src="assets/img/slide-1.jpg" name="Image 1"> 

    <div class="caption add-box" data-animate="slideAppearRightToLeft"> 
    <a href="file-2.php?imageName=myImageName" class="butn btn btn-default">Add</a> 
    </div> 
</div> 

Затем в PHP вы можете получить доступ к $_GET['imageName'] и он будет возвращать 'myImageName'

+0

Спасибо за решение. Однако существует ли какой-либо возможный способ заменить «myImageName» на фактическое имя изображения? Например, здесь «имя» изображений - «Изображение 1». И, возможно, имя моего следующего изображения будет «Изображение 2» и так далее. Итак, как я могу получить другое имя для differen-изображения, а также иметь возможность хранить их, как раньше. Может быть, использование PHP-фрагмента для вызова свойства «имя» изображения будет делать? – Adictonator

0

Данные не сохранять в «страницы». Его можно сохранить в сеансе, localstorage, cookies ... и, как правило, в базах данных.

Итак, первый вопрос: где должно быть лучшее место для хранения данных?

Это зависит от поведения каждой области вашего приложения.

В таком случае, например, данные являются летучими или должны быть получены много раз со многих разных устройств? Вы хотите отслеживать данные своих пользователей или данные будут находиться только в пользовательском устройстве?

В любом случае, ваш файл_that_receive_data.php будет действовать как контроллер и позаботиться об этом. Этот файл также может быть таким же, где представлены данные, что в зависимости от запроса выполняет задание или другое.

Ваш php-файл будет получать данные через запрос, который может быть GET или POST-типом. Обычно метод GET используется для извлечения данных и метода POST для отправки данных на него.

так в очень простом способе (проблемы безопасности и различная дезинфицирующая/валидация могут принимать во внимание) Ваш PHP будет иметь:

<?php if(isset($_POST['image'])){ 
$image_path = $_POST['image']; 
// an image has been sent so then based on you logic will be stored somewhere 
echo 'ok'; 
die(); 
}elseif(isset($get['whatever'])){ 
// a GET request have been done with whatever parameter (if you have to show only current user selection of images you'll need any kind of descriptor for him, for example an id that came with your image before?) 
} ?> 

Далее вам нужен внешний интерфейс для работы, и в этом случае я хотел бы использовать Ajax например, так:

<div class="slide-body" data-group="slide"> 
    <img src="assets/img/slide-1.jpg" name="Image 1"> 
    <div class="caption add-box" data-animate="slideAppearRightToLeft"> 
    <a href="#" class="butn btn btn-default" data-image="assets/img/slide-1.jpg">Add</a> 
    </div> 
</div> 
<script> 
    // jquery need to be loaded before this point 
    $('.butn').click(function(e){ 
    e.preventDefault(); 
    var imagepath = $(this).data('image'); 
    $.ajax({ 
     url: '/path/to/your/file_that_receive_data.php', 
     type: 'post', 
     data: {'image':imagepath}, 
     success: function(data){ 
     if(data.length && data === 'ok'){ 
      alert('Image saved!'); 
     }else{ 
      alert('some sort of soft managed error or alert'); 
     } 
     }, 
     error: function(){ 
     alert('some technical error occurred'); 
     } 
    }); 
    }); 
</script> 
+0

Спасибо за решение. Данные, свойство «имя» изображения, должны храниться в сеансах.Например, когда пользователь нажимает ссылку «Добавить», ** имя ** изображения будет храниться в сеансе (возможно, на одной странице), тогда пользователь нажимает на другую ссылку, которая ** снова сохраняет ** имя следующего изображения. Таким образом, в сеансе будут храниться несколько имен (данных). После этого я хочу иметь возможность называть эти сохраненные «имена» с другой страницы. – Adictonator

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