За последние 24 часа нас посетили 17935 программистов и 1719 роботов. Сейчас ищут 927 программистов ...

Как передать значение переменной между файлами php ?

Тема в разделе "PHP для новичков", создана пользователем Mrackk3, 3 май 2015.

  1. Mrackk3

    Mrackk3 Новичок

    С нами с:
    2 май 2015
    Сообщения:
    15
    Симпатии:
    0
    Есть два файла php:
    Код (Text):
    1.  
    2. <!DOCTYPE HTML>
    3. <html>
    4. <head>
    5. <meta charset="utf-8">
    6. <title>Голосование</title>
    7. </head>
    8.  
    9. <body>
    10.  
    11.  
    12.  
    13. <?php
    14.  
    15.  
    16. echo 'Задача<br />';
    17. echo 'Сколько дециметров ширина монитора с диагональю   a дюймов, если высота относиться к ширине как b:c? Точность - 3 знака после запятой.<br />';
    18. echo '<br />';
    19. function clearData($data, $type='i'){
    20.     switch($type){
    21.         case 'i': return $data*1; break;
    22.         case 's': return trim(strip_tags($data)); break;
    23.     }
    24.    }
    25.  
    26. if($_SERVER['REQUEST_METHOD'] == 'POST'){  
    27. $a = clearData ($_POST['a']);             #Получаем первое слагаемое
    28. $b = clearData ($_POST['b']);             #Получаем второе слагаемое
    29. $c = clearData ($_POST['c']);
    30.  
    31. $e = 0.254;
    32. $f = 0.5;                                    
    33. $resultWidth = round ($a*$c*0.254/sqrt((pow($b,2)+pow($c,2))),3); #Действия с числами  и результат записываем в переменную
    34. $resultWidthCM = round ($resultWidth*10);
    35. $resultHeight = round ($a*$b*0.254/sqrt((pow($b,2)+pow($c,2))),3);    
    36. $resultHeighCM = round ($resultHeight*10);
    37. echo 'Результат ширины в дециметрах: <br />'. $resultWidth;   #Выводим результат на экран
    38. echo '<br />';
    39. echo 'Результат высоты в дециметрах:<br /> '. $resultHeight;
    40. echo '<br />';
    41. echo 'Результат ширины в сантиметрах: <br />'. $resultWidthCM;
    42. echo '<br />';
    43. echo 'Результат высоты в сантиметрах:<br /> '. $resultHeighCM;
    44.  
    45.  
    46.  
    47. }
    48.  
    49.  
    50.  
    51. ?>
    52.  
    53.  
    54. <form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
    55. Диагональ монитора в дюймах - a:<br />
    56. <input type="text" name="a"><br />
    57. Высота частей - b: <br />
    58. <input type="text" name="b"><br />
    59. Ширина частей - c:<br />
    60. <input type="text" name="c"><br />
    61. <input type="submit" value="Считать!">
    62. <input type="submit" name="okbutton" value="Построить изображение">
    63.  
    64.  
    65.  
    66. </form>
    67.  
    68.  
    69. <img src="1.php" alt="Прямоугольник"/>
    70.  
    71.  
    72. </body>
    73. </html>
    и

    Код (Text):
    1. <?php
    2.  
    3.  
    4.  
    5.  
    6. // Создание изображения 200 x 200
    7.  $canvas = imagecreatetruecolor(66, 57);
    8.  
    9. // Вывод и освобождение памяти
    10.  header('Content-Type: image/jpeg');
    11.  
    12.  imagejpeg($canvas);
    13.  imagedestroy($canvas);
    14.  
    15.  
    16.  
    17. ?>
    Как передать п
    значение переменных $resultWidthCM и $resultHeighCM во второй файл и присвоить переменной $canvas....
    Короче говоря при исполнении первого скрипта должен рисоваться прямоугольник по таким параметрам...
    Подскажите пожалуйста, пробовал сессиями но выдает ошибку!

    Добавлено спустя 22 минуты 18 секунд:
    вот рабочий скрипт выложенный мною в сеть - zadachy.zz.mu

    Добавлено спустя 31 секунду:
    https://zadachy.zz.mu

    Добавлено спустя 2 минуты 16 секунд:
    http://zadachy.zz.mu/
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    параметром GET дружок, т.е. вот так вот:
    из первого файла:
    Код (PHP):
    1. <img src="1.php?resultWidthCM=<?php echo $resultWidthCM; ?>&resultHeighCM=<?php echo $resultHeighCM; ?>" alt="Прямоугольник"/>
    а во втором файле вытягивай параметры из GET

    Добавлено спустя 3 минуты 4 секунды:
    да и насчет сессии, вроде как должна работать в твоем примере, значит ты не правильно ее использовал.
     
  3. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  4. Mrackk3

    Mrackk3 Новичок

    С нами с:
    2 май 2015
    Сообщения:
    15
    Симпатии:
    0
    Спасибо!