За последние 24 часа нас посетили 16684 программиста и 1694 робота. Сейчас ищут 797 программистов ...

скопировать переменную в другой файл

Тема в разделе "PHP для новичков", создана пользователем missAisa, 17 июн 2011.

  1. missAisa

    missAisa Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Форму обрабатывают несколько скриптов php. Надо собрать все отмеченные переменные в форме в другой файл a.php

    PHP:
    1. <?php
    2.  
    3.     if (!empty($_POST['a']))  {
    4.         if ($_POST['a'][99]==0) {
    5.          echo "нет. ";
    6.     }  if($_POST['a'][99]==20) {
    7.         echo"да. ";
    8.     }  
    9. }
    10. ?>
    11.  
    второй:
    PHP:
    1. <?php
    2. if (!empty($_POST['a']))  {
    3.    if (isset($_POST['a'][3])) {  
    4.         echo "Одна версия сайта. ";
    5.     }  if(isset($_POST['a'][4])) {
    6.         echo"Две версии сайта. ";
    7.     }   if(isset($_POST['a'][5])){
    8.         echo"Три версии сайта. ";
    9.     }   if (isset($_POST['a'][6])){          
    10.         echo"Четыре версии сайта. ";  
    11.     }   if(isset($_POST['a'][7])){
    12.         echo"Пять версий сайта. " ;}
    13. }
    14. ?>
    Если отмечено поле в форме, копия $_POST['a'][4] и копия $_POST['a'][99]==0 отправляется в файл a.php Вот как это организовать? :roll:
     
  2. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    передавай через сессию и чисти после того как передано.
     
  3. missAisa

    missAisa Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Смысл в том, что этот файл соберет переменные и оправит с помощью mail() инфу на мыло. Я сделала через fopen() - fwrite() - fclose(), то что хотела. Но вот с сессиями не пойму. Мой файл с переменными лежит на сервере, страницы не выводит, может сессия не для этого предназначена. Я не могу смысл понять.
     
  4. missAisa

    missAisa Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Такое впечатление, что сессии предназначены не для этого. Вернее, сессия не в состоянии переписать переменную в другой файл(переменную, которую отметил юзер в форме)
     
  5. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    missAisa
    вопрос неясен. объясни понятно, и тебе ответят
     
  6. missAisa

    missAisa Активный пользователь

    С нами с:
    7 июн 2011
    Сообщения:
    36
    Симпатии:
    0
    Адрес:
    Украина, Краснодон
    Вопрос:
    Форму обрабатывают несколько скриптов. Они занимаются выводом отмеченных полей(перечислением выбранного) и выводом общей суммы(в грн) отмеченных полей юзером. Далее мне надо все отмеченные переменные юзером собрать в отдельный скрипт и отослать мне на мыло.
    Вот один из скриптов, который обрабатывает форму:
    PHP:
    1. <?php
    2.     if (!empty($_POST['a']))  {
    3.      if ($_POST['a'][10]==0) {
    4.         echo "нет. ";
    5.     }  if($_POST['a'][10]==20) {
    6.         echo"да. ";
    7.     } }  
    Если отмечено поле
    HTML:
    1. <select name="a[10]" size='1'><option value="0">нет</option>
    , т.е.
    PHP:
    1. if (!empty($_POST['a']))  {
    2.      if ($_POST['a'][10]==0) {
    3.         echo "нет. ";
    на страницу выводит 'нет', а в 'a.php' надо записать эту переменную, которую потом я отправлю на мыло. Вот в сущности и все. Я сделала через fopen()-fwrite()-fclose() вот так(это уже другой скрипт, но смысл тот же):
    PHP:
    1. <?php
    2. if (!empty($_POST['a'])){
    3.     if (isset($_POST['a'][1])) {
    4.         $b=$_POST['a'][1];
    5.         $b="Сайт состоит из страниц до 5 шт.";
    6.        
    7. $file = "a.php";
    8.     $f_write = fopen($file, "a");
    9.     fputs($f_write,$b);
    10.     fclose($f_write);
    11.           echo "Сайт состоит из страниц до 5 шт. ";
    А как то же самое организовать через сессии? То поле, которое отметил юзер, что бы записалось кроме вывода на страницу и в 'a.php', дальше я отправлю его через mail() по назначению)
     
  7. Mamont

    Mamont Активный пользователь

    С нами с:
    5 дек 2010
    Сообщения:
    183
    Симпатии:
    0
    index.php:
    PHP:
    1. <?php
    2. $_SESSION['data2email'] = '';
    3.  
    4. include('process_form_1.php');
    5. include('process_form_2.php');
    6. include('process_form_3.php');
    7.  
    8. //В переменной $_SESSION['data2email'] находятся все данные для отправки
    9. //можно сразу же отправить и не использовать сессии
    10. ?>
    11. <a href="send_email.php">Отправить на email</a>
    12.  
    Дублируем вывод в переменную.
    process_form_1.php :
    PHP:
    1. <?php
    2. if (!empty($_POST['a']))  {
    3.    $tmp = '';
    4.    if (isset($_POST['a'][3])) {  
    5.         $tmp .= "Одна версия сайта. ";
    6.     }  if(isset($_POST['a'][4])) {
    7.         $tmp .= "Две версии сайта. ";
    8.     }   if(isset($_POST['a'][5])){
    9.         $tmp .= "Три версии сайта. ";
    10.     }   if (isset($_POST['a'][6])){          
    11.         $tmp .= "Четыре версии сайта. ";  
    12.     }   if(isset($_POST['a'][7])){
    13.         $tmp .= "Пять версий сайта. " ;
    14.    }
    15.    if( !empty($tmp) ){
    16.       echo $tmp;
    17.       $_SESSION['data2email'] .= $tmp . "\r";
    18.    }
    19. }
    20.  
    send_email.php:
    PHP:
    1. <?php
    2. echo '<pre>';
    3. print_r($_SESSION);
    4. echo '</pre>';