Автор Тема: Сесия взема предпоследен резултат  (Прочетена 2835 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

puzzelbrain

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 21
  • -Получени: 3
  • Публикации: 275
Здравейте, нуждая се от помощ по следния въпрос. Имам форма която като се събмитне трябва да се отвори нов таб в браузъра с данните, които са събмитнати. Резтлтата е, че се отваря нов таб с данните вкарани в предния събмит.
Формата с данните е събмитната:
Код: PHP
  1. <input type="submit" onclick="myfunction()" name="recordprint" value="Добавяне и заявка">
  2.             <script>
  3.  
  4. function myfunction() {
  5.     window.open("print.php");
  6. }
  7. </script>
  8.  

Изпраща се към new_patient.php

Код: PHP
  1. if(isset($_POST['recordprint'])){
  2.    
  3.     $Basic->newPatientPrint($pname, $num, $doctor, $results, $date);
  4.    
  5. }

Код: PHP
  1. public function newPatientPrint($pname, $num, $doctor, $results, $date) {
  2.        
  3.         $results2 = $results;
  4.         $sql = "INSERT INTO `patients` (`number`, `names`, `doctor`, `tests`, `date`, `id`) VALUES ('".$num."', '".$pname."', '".$doctor."', '".$results2."', '".$date."', NULL)";
  5.         $this->sqliexecute($sql);
  6.         //$this->printRequest($results2, $pname, $num, $doctor, $results, $date);
  7.        
  8.     }

Вземаме последния резултат:
Код: PHP
  1.  public function takeLastResult() {
  2.         $sql = "SELECT  MAX(Id)
  3.    FROM patients";
  4.        $id = $this->sqliexecute($sql);
  5.        $sql2 = "SELECT * FROM patients WHERE id = ".$id[0]['MAX(Id)']."";
  6.        return $this->sqliexecute($sql2);
  7.     }

и го хвърляме към print.php
Код: PHP
  1. $Basic = new Basic();
  2. $lastres = $Basic->takeLastResult();
  3.  
  4.     print_r($lastres);

Проблема е, че всичко това се случва след като вече новия таб се е отворил (onclick="myfunction()"). Опитах и със сесии и с какво ли не. Просто javascript-a се изпълнява преди php-то (нормално) И не знам какво да правя. МОЛЯ помогнете
« Последна редакция: 02 Юни 2018, 01:47:47 от puzzelbrain »
Подай виното там.

canon4o

  • Sr. Member
  • ****
  • Благодарности
  • -Казани: 18
  • -Получени: 33
  • Публикации: 324
Re: Сесия взема предпоследен резултат
« Отговор #1 -: 04 Юни 2018, 22:34:17 »
Здравей!

За целта ще трябва да добавиш атрибута „target“ на тага „form“, като махнеш този JS код от „onclick“ ивента.
Формата ти трябва да изглежда по следния начин:
Код: HTML
  1. <form action="адреса-който-искаш-да-се-отвори" target="_blank" method="post">
  2.     <input type="submit" name="recordprint" value="Добавяне и заявка">
  3. </form>