Redireccionar в другую страницу в кнопке Aceptar и выражать документ PDF

У меня есть эта ситуация:

1. - Я регистрирую мои данные и в момент давания click в Соглашении; сохраняют реестры и создается документ в PDF с FPDF без какой-либо проблемы

<div class="row">
   <div class="text-center">
      <div class="col-md-3"></div>
      <div class="col-md-3">
         <button type="submit" class="btn btn-primary" onclick="this.disabled=true; this.value=’Enviando...’; this.form.submit()" id="btn-registrar">Aceptar</button>                       
      </div>
      <div class="col-md-3">
         <button type="button" class="btn btn-primary" id="btn-cancelar">Cancelar</button>
         <script type="text/javascript">
            document.getElementById("btn-cancelar").onclick = function () {
            location.href = "../menu.php";
            };
         </script>
      </div>
      <div class="col-md-3"></div>
   </div>
</div>
</form>

introducir la descripción de la imagen aquí

Дав click в соглашении он посылается POST в файл guarda.view.php который содержит этот код:

    <?php session_start();

if (isset($_SESSION['username'])) {

  require('verificar.view.php');


   echo'<script type="text/javascript">
    alert("DATOS ACTUALIZADOS GRACIAS");     
    window.location="../menu.php"
    </script>';

    } else {
  header('Location: ../index.php');
}

 ?>

2. - Внутри этого кода посылают приносить PDF с информацией, который я наполнил в формуляре без какой-либо проблемы.

Я нуждаюсь в том, что: в момент которого сохраняет PDF я redireccione в унифицированный указатель ресурса ../menu.php но код это не делает. А именно, меня производит PDF, сохраняет в команде, но не redirecciona и остается в формуляре, где он наполнял данные.

Здесь я оставляю фрагмент начала и конец кода, чтобы показывать PDF.

<?php session_start();

if (isset($_SESSION['username'])) {

header("Content-Type: text/html; charset=utf-8");

$modelo=$_POST['modelo'];
$serie=$_POST['serie'];
$testigo1=$_POST['testigo1'];
$fecha_alta=$_SESSION['fecha_alta'];
$email_administrativo=$_SESSION['email_administrativo'];
$email_usuario=$_POST['email_usuario'];
$fecha1="Estando de acuerdo en lo antes señalado, firman como responsables en la ciudad de ".$_SESSION['ciudad']." el dia ".$_SESSION['fecha']."";

$config['db']=array(
         'host'=> 'localhost',
         'username'=>'root',
         'password'=>'*****',
         'dbname'=>'database'
         );

         $db=new PDO('mysql:host='.$config['db']['host'].';dbname='.$config['db']['dbname'],$config['db']['username'],$config['db']['password']);
         $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   

         try{/*AQUI VA TODO EL CUERPO DEL PDF/*

         catch(PDOException $e)
         {

         echo $sql . "<br>" . $e->getMessage();
         }      
         $db = null; 

} else {
  header('Location: ../index.php');
}
?>

Однако. Добавьте, что следующий Восток сохранил в архиве форзац, реестр.

    <?php session_start();
   if(isset($_POST["aceptar"]) && $_SERVER["REQUEST_METHOD"] == "POST"){

    if (isset($_SESSION['username'])) { 

         header("Content-Type: text/html; charset=utf-8");

$modelo=$_POST['modelo'];
$serie=$_POST['serie'];
$testigo1=$_POST['testigo1'];
$fecha_alta=$_SESSION['fecha_alta'];
$email_administrativo=$_SESSION['email_administrativo'];
$email_usuario=$_POST['email_usuario'];
$fecha1="Estando de acuerdo en lo antes señalado, firman como responsables en la ciudad de ".$_SESSION['ciudad']." el dia ".$_SESSION['fecha']."";

$config['db']=array(
         'host'=> 'localhost',
         'username'=>'root',
         'password'=>'*****',
         'dbname'=>'database'
         );

       $db=new PDO('mysql:host='.$config['db']['host'].';dbname='.$config['db']['dbname'],$config['db']['username'],$config['db']['password']);
         $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   

         try{

         $sql="INSERT INTO `custodia_equipo_electronico`(
       `fecha_alta`,
       `numero_empleado`,
       `nombre_completo`,
       `empresa`,
       `apoderado_legal`,
       `modelo`,
       `serie`,
       `centro_laboral`,      
       `gerente_administrativo`,
       `testigo1`,
       `fecha_expedicion`,
       `email_administrativo`,
       `email_usuario`)
       VALUES
         (STR_TO_DATE('$fecha_alta', '%d/%m/%Y'),
       '{$_SESSION[numero]}',
       '{$_SESSION['nombre_completo']}',
       '{$_SESSION['empresa']}',
       '{$_SESSION['Apoderado_Legal']}',
       '$modelo',
       '$serie',
       '{$_SESSION['centro_laboral']}',
       '{$_SESSION['gerente_administrativo']}',
       '$testigo1',     
       '$fecha1',
       '$email_administrativo',
       '$email_usuario')";
       $db->exec("SET NAMES'utf8'");
       $db->exec($sql);
       $last_id = $db->lastInsertId(); 
       }   
       catch(PDOException $e)
         {      
         echo $sql . "<br>" . $e->getMessage();
         }     

       //$db = null; 
       //$sql = null; 
       //$sql1 = null; 
       //$conexion = null; 


         ?>
<html lang="es">
   <head>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta http-equiv="X-UA-Compatible" content="IE=9" />
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <title>Resultado</title>
      <link href="../libs/bootstrap/css/bootstrap.min.css" rel="stylesheet">
      <link rel="stylesheet" href="../libs/bootstrap/js/bootstrap.min.js">
      <link rel="stylesheet" href="../css/style.css" type="text/css" />
      <link rel="stylesheet" href="../css/form-elements.css" type="text/css" />
      <script src="../libs/js/Respond/src/respond.js"></script>
      <script src="../libs/js/Respond/src/matchmedia.addListener.js"></script>
      <script src="../libs/js/Respond/src/matchmedia.polyfill.js"></script>
   </head>
   <body>
      <div class="container">
         <div class="inner-bg">
            <div class="container">
               <div class="row">
                  <div class="col-sm-8 col-sm-offset-2 text">
                     <div class="text-center">
                        <img title="logo" src="../images/logogruver.png">                        
                     </div>
                  </div>
               </div>
               <div class="container">
                  <?php
                     echo "<script>alert('Custodia Registrada.');</script>"; 
                     echo "".$last_id."";
                        //require('verificar.view.php');
                        //header('Location: ../menu.php');
                     ?>
                  <br>
                  <br>
                  <div class="row">
                     <div class="text-center">
                        <div class="col-md-4">
                           <p>Regresar al Menú Principal:
                              <a href="../menu.php" class="btn btn-info btn-lg">
                              <span class="glyphicon glyphicon-home"></span> Menú 
                              </a>
                           </p>
                        </div>
                        <div class="col-md-4">
                           <p>Descargar PDF:
                              <a href="verificar.view.php" class="btn btn-info btn-lg" id="imprime">
                              <span class="glyphicon glyphicon-download-alt"></span> Descargar
                              </a>
                              <script>
                              $(function () {
                                 $('#imprime').on('click', function () {
                                    var last_id = $(this).data().last_id;
                                    $.post( 'verifica.view.php', { last_id: last_id } );
                                    });
                                });

                              </script>
                           </p>
                        </div>
                        <div class="col-md-4">
                           <p>Salir del Sistema:
                              <a href="../ldap/cerrar-sesion.php" class="btn btn-info btn-lg">
                              <span class="glyphicon glyphicon-off"></span> Salir 
                              </a>
                           </p>
                        </div>
                     </div>
                  </div>
               </div>
            </div>
         </div>
      </div>
   </body>
</html>
<?php
   } 
   else {   header('Location: ../index.php');   }
   }

   ?>

И в кнопке, которую он говорит "Загружать PDF:" я нуждаюсь произвело PDF и этом это код, чтобы производить PDF

    <?php session_start();

if (isset($_SESSION['username'])) {      

         include('../conn/conexion_mb.php');

         $ultimo_registro=isset($_POST['last_id']);

         $sql1 = "SELECT * FROM custodia_equipo_electronico WHERE folio LIKE '$ultimo_re' ORDER BY folio ASC";
         mysqli_set_charset($conexion,"utf8");
         $resultado = $conexion->query($sql1);
         if ($resultado->num_rows > 0)
         {
             while($fila = $resultado->fetch_assoc())   {
             $folio=$fila['folio'];
             $fecha_alta=$fila['fecha_alta'];
             $numero_empleado=$fila['numero_empleado'];
             $nombre=$fila['nombre_completo'];
             $empresa=$fila['empresa'];
             $apoderado_legal=$fila['apoderado_legal'];
             $modelo=$fila['modelo'];
             $serie=$fila['serie'];
             $centro_laboral=$fila['centro_laboral'];
             $gerente_administrativo=$fila['gerente_administrativo'];
             $testigo1=$fila['testigo1'];
             $fecha_expedicion=$fila['fecha_expedicion'];   
             $email_administrativo=$fila['email_administrativo'];
             $email_usuario=$fila['email_usuario'];     }
         }
            else
         {
             echo'<script type="text/javascript">
             alert("NO EXISTEN DATOS EN LA BASE DE DATOS");
             window.location="../menu.php"
             </script>';
             exit;
         }

header("Content-Type: text/html; charset=utf-8");
include_once('../libs/fpdf/fpdf.php'); 
class PDF extends FPDF
{
    function Footer()
    {
        $this->SetY(-15);
        $this->SetFont('Arial','I',8);
        $this->Cell(0,10,'Departamento de Sistemas','T',0,'C');
    }
    function Header()
    {

        $this->SetFont('Arial','B',16);
        $this->Cell(50);        
        $this->Cell(100,10,utf8_decode('Formato Custodia Equipo Electrónico'),0,0,'C');
        $this->Cell(30,10,'',0,0,'C',$this->Image('../images/logogruver.png', 169,6, 32));
        $this->Ln(15);
    }   
}

$pdf = new PDF();
$pdf->AddPage('P', 'Letter');
$pdf->SetFont('Arial','',9);
$pdf->Cell(0,1,'Folio : '.$folio.'',0,0,'L');
$pdf->Cell(50,5,'',0,1);
$pdf->MultiCell(195,5,utf8_decode("Por medio del presente instrumento, la empresa ".$_SESSION['empresa']." representada en este acto por C.P. ".$_SESSION['Apoderado_Legal']." en su carácter de apoderado legal, entrega el equipo  ".$modelo.", número de serie  ".$serie." al Sr.(a)  ".$_SESSION['nombre_completo']." actualmente laborando en la sucursal ".$_SESSION['centro_laboral'].".") ,0,'J',false);
$pdf->Cell (50,5,'',0,1);
$pdf->MultiCell(195,5,utf8_decode("El cual recibe a su entera satisfacción y en buenas condiciones de uso, obligándose a devolverlo en las mismas condiciones en que las que le fue asignado, considerando el deterioro normal y esperado del mismo, en el momento en que le sea requerido.") ,0,'J',false);
$pdf->Cell (50,5,'',0,1);
$pdf->MultiCell(195,5,utf8_decode("El equipo anteriormente descrito, es asignado como Herramienta de Trabajo en apoyo al desarrollo de sus actividades; su autorización se sustenta en la aprobación de la Dirección General de la empresa sujetándose a las siguientes condiciones:") ,0,'J',false);
$pdf->Cell (50,5,'',0,1);
$pdf->MultiCell(195,5,utf8_decode("1. El equipo se entrega al puesto, no a la persona, quedando en todo momento al servicio de la empresa.") ,0,'J',false);
$pdf->Cell (50,5,'',0,1);
$pdf->MultiCell(195,5,utf8_decode("2. El equipo estará asignado para el desarrollo del trabajo diario de su titular, debiendo pernoctar en la empresa en ausencias por vacaciones, permisos e incapacidades.
") ,0,'J',false);
$pdf->Cell (50,5,'',0,1);
$pdf->MultiCell(195,5,utf8_decode("3. El titular que ocupe el puesto, será el depositario, usuario y responsable único y total del bien recibido, quedando bajo su custodia la vigilancia y reporte oportuno de cualquier necesidad de mantenimiento.") ,0,'J',false);
$pdf->Cell (50,5,'',0,1);
$pdf->MultiCell(195,5,utf8_decode("4. En caso de robo, extravío o daños, que hagan imposible el uso óptimo del equipo y el titular responsable no pueda comprobar lo anterior o le sean imputables a él las causas, se cargarán a éste los daños y perjuicios causados a la empresa, aceptando y autorizando, desde este momento, se le realicen los descuentos en términos del artículo 110 de la Ley Federal de Trabajo.") ,0,'J',false);
$pdf->Cell (50,5,'',0,1);
$pdf->MultiCell(195,5,utf8_decode("5. Al momento en que el empleado se separe de la empresa, sea por la causa que fuere, se hará una valuación del estado actual del equipo, para que en caso de que por el mal uso del mismo éste se encontrara deteriorado, se le haga responsable de su demérito.
") ,0,'J',false);
$pdf->Cell (50,5,'',0,1);
$pdf->MultiCell(195,5,utf8_decode("6. El equipo se entrega configurado y listo para el uso del personal, con entendido de que podrá ser solicitado en el momento que se requiera para una revisión física e interna del mismo, y en caso de encontrar alteraciones o uso inadecuado se procederá con un acta administrativa o el retiro del equipo
") ,0,'J',false);
$pdf->Cell (50,5,'',0,1);
$pdf->MultiCell(195,5,utf8_decode(''.$fecha1.'') ,0,'J',false);
$pdf->Cell(50,5,'',0,1);
$pdf->Cell(50,5,'',0,1);
$pdf->Cell(100,5,'___________________________________',0,0,'C');
$pdf->Cell(100,5,'___________________________________',0,1,'C');
$pdf->Cell(100,5,utf8_decode(''.$_SESSION['nombre_completo'].''),0,0,'C');
$pdf->Cell(100,5,utf8_decode(''.$_SESSION['Apoderado_Legal'].''),0,1,'C');
$pdf->Cell(100,5,'',0,0);
$pdf->Cell(100,5,'',0,1);
$pdf->Cell(100,5,'Usuario Final',0,0,'C');
$pdf->Cell(100,5,'Apoderado Legal',0,1,'C');
$pdf->Cell(100,5,'',0,0);
$pdf->Cell(100,5,'',0,1);
$pdf->Cell(100,5,'___________________________________',0,0,'C');
$pdf->Cell(100,5,'___________________________________',0,1,'C');
$pdf->Cell(100,5,utf8_decode(''.$_SESSION['gerente_administrativo'].''),0,0,'C');
$pdf->Cell(100,5,utf8_decode(''.$testigo1.''),0,1,'C');
$pdf->Cell(100,5,'',0,0);
$pdf->Cell(100,5,'',0,1);
$pdf->Cell(100,5,'Gerente Administrativo',0,0,'C');
$pdf->Cell(100,5,'Testigo',0,1,'C');
$pdf->SetXY(10,210);
$pdf->Ln();


$pdfdoc=$pdf->Output('Custodia.pdf', 'D');//PARA DESCARGAR EN PC



} else {
  header('Location: ../index.php');
}
?>

Идея состоит в том, чтобы я произвелся PDF, и в момент выполнения говорит мне "не существуют данные в Базе данных" будучи что, если я осматриваюсь, и продолжает быть активным число реестра до тех пор, пока я не закрываю окно. Спасибо.

4
задан 20.02.2017, 19:39
0 ответов

Según veo, tienes algunos problemmas conceptuales cuando intentas hacer la descarga. De acuerdo a tu codigo:

<p>Descargar PDF:
    <a href="verificar.view.php" class="btn btn-info btn-lg" id="imprime">
        <span class="glyphicon glyphicon-download-alt"></span> Descargar
    </a>
    <script>
    $(function () {
        $('#imprime').on('click', function () {
            var last_id = $(this).data().last_id;
            $.post( 'verifica.view.php', { last_id: last_id } );
        });
    });

    </script>
</p>

Realisas una petición AJAX (XHR, para utilizar los terminos correos), mediante POST con el id del PDF generado. Все проблемы, связанные с XHR соло-фоном и фоном, без контроля над ситуацией, без проблем, без ошибок, без ошибок.

Además, cuando dices:

al momento de ejecutar me dice "Нет существующих данных в базе данных" отправьте его в суд и зарегистрируйтесь в Интернете

и оставьте его URL-адрес в открытом доступе, а затем зарегистрируйтесь ] ( $ ultimo_registro = isset ($ _ POST ['last_id']); ), es por ello que no funciona cuando abres la pestaña.

Режим решения для меня:

<p>Descargar PDF:
    <a href="verificar.view.php" class="btn btn-info btn-lg" target="_blank" id="imprime">
        <span class="glyphicon glyphicon-download-alt"></span> Descargar
    </a>
    <script>
    $(function () {
        $('#imprime').on('click', function () {
            var last_id = $(this).data().last_id;

            this.href = "verificar.view.php?last_id=" + last_id;
        });
    });

    </script>
</p>

и PHP-генерация PDF, cambiar a:

$ultimo_registro=isset($_GET['last_id']);

Consto logtoras tener URIs específicas para cada documentmento, las cuales puedes Сравнение.


Leyendo В то же время, нет необходимости в санитарии и вводе данных, а также в SQL-инъекциях . Parasolucionar esto, te Recomiendo utilizar Подготовленные заявления о формировании формального драйвера де ла BD с предварительными указаниями по санитарной обработке данных.

per según tu código, el id del registro se recupera mediante POST ( $ ultimo_registro = isset ($ _ POST ['last_id']); ), es por ello que no funciona cuando abres abres abres abres abres abres abres abres abres abres abres ла пестана.

Способ решения этой проблемы:

<p>Descargar PDF:
    <a href="verificar.view.php" class="btn btn-info btn-lg" target="_blank" id="imprime">
        <span class="glyphicon glyphicon-download-alt"></span> Descargar
    </a>
    <script>
    $(function () {
        $('#imprime').on('click', function () {
            var last_id = $(this).data().last_id;

            this.href = "verificar.view.php?last_id=" + last_id;
        });
    });

    </script>
</p>

PHP-генерация PDF, cambiar a:

$ultimo_registro=isset($_GET['last_id']);

Consto logtoras tener URIs específicas para cada documentmento, las cuales puedes Сравнение.


Leyendo В то же время, нет необходимости в санитарии и вводе данных, а также в SQL-инъекциях . Parasolucionar esto, te Recomiendo utilizar Подготовленные заявления о формировании формального драйвера де ла BD с предварительными указаниями по санитарной обработке данных.

per según tu código, el id del registro se recupera mediante POST ( $ ultimo_registro = isset ($ _ POST ['last_id']); ), es por ello que no funciona cuando abres abres ла пестана.

Способ решения этой проблемы:

<p>Descargar PDF:
    <a href="verificar.view.php" class="btn btn-info btn-lg" target="_blank" id="imprime">
        <span class="glyphicon glyphicon-download-alt"></span> Descargar
    </a>
    <script>
    $(function () {
        $('#imprime').on('click', function () {
            var last_id = $(this).data().last_id;

            this.href = "verificar.view.php?last_id=" + last_id;
        });
    });

    </script>
</p>

PHP-генерация PDF, cambiar a:

$ultimo_registro=isset($_GET['last_id']);

Consto logtoras tener URIs específicas para cada documentmento, las cuales puedes Сравнение.


Leyendo В то же время, нет необходимости в санитарии и вводе данных, а также в SQL-инъекциях . Parasolucionar esto, te Recomiendo utilizar Подготовленные заявления о формировании формального драйвера де ла BD с предварительными указаниями по санитарной обработке данных.

es por ello que no funciona cuando abres la pestaña.

Способ решения этой проблемы:

<p>Descargar PDF:
    <a href="verificar.view.php" class="btn btn-info btn-lg" target="_blank" id="imprime">
        <span class="glyphicon glyphicon-download-alt"></span> Descargar
    </a>
    <script>
    $(function () {
        $('#imprime').on('click', function () {
            var last_id = $(this).data().last_id;

            this.href = "verificar.view.php?last_id=" + last_id;
        });
    });

    </script>
</p>

PHP-генерация PDF, cambiar a:

$ultimo_registro=isset($_GET['last_id']);

Consto logtoras tener URIs específicas para cada documentmento, las cuales puedes Сравнение.


Leyendo В то же время, нет необходимости в санитарии и вводе данных, а также в SQL-инъекциях . Parasolucionar esto, te Recomiendo utilizar Подготовленные заявления о формировании формального драйвера де ла BD с предварительными указаниями по санитарной обработке данных.

es por ello que no funciona cuando abres la pestaña.

Режим решения для меня:

<p>Descargar PDF:
    <a href="verificar.view.php" class="btn btn-info btn-lg" target="_blank" id="imprime">
        <span class="glyphicon glyphicon-download-alt"></span> Descargar
    </a>
    <script>
    $(function () {
        $('#imprime').on('click', function () {
            var last_id = $(this).data().last_id;

            this.href = "verificar.view.php?last_id=" + last_id;
        });
    });

    </script>
</p>

и PHP-генерация PDF, cambiar a:

$ultimo_registro=isset($_GET['last_id']);

Consto logtoras tener URIs específicas para cada documentmento, las cuales puedes Сравнение.


Leyendo В то же время, нет необходимости в санитарии и вводе данных, а также в SQL-инъекциях . Parasolucionar esto, te Recomiendo utilizar Подготовленные заявления о формировании формального драйвера де ла BD с предварительными указаниями по санитарной обработке данных.

lo que puede conllevar a SQL-инъекции . Parasolucionar esto, te Recomiendo utilizar Подготовленные заявления о формировании формального драйвера де ла BD с предварительными указаниями по санитарной обработке данных.

lo que puede conllevar a SQL-инъекции . Parasolucionar esto, te Recomiendo utilizar Подготовленные заявления о формировании формального драйвера де ла BD с предварительными указаниями по санитарной обработке данных.

0
ответ дан 03.12.2019, 17:09
  • 1
    Спасибо за твой вклад и большую помощь. Однако я делаю доказательства и в момент нажимания botó n Разгружать PDF, что я сделал, было первым видеть, что стоимость охраняет переменные перед тем, как производить PDF, и я наблюдаю, что он посылает меня, чтобы приносить первую запись. А именно, изменчивая $ ultimo_registro в момент происхождения в " verificar.view.php" уже он не берет стоимость последнего листа, но, сделав консультацию, меня берет первая стоимость пластины. А именно 1. ¿ Потому что será? –  14.02.2017, 19:45
  • 2
    Так как оказывается, что с AJAX я я не функционирую. Так что я был должен перемещать без необходимости AJAX стоимость переменной для того, чтобы он я ссылался на стоимость листа, и с того, чтобы там производить консультацию. Я был должен снимать isset изменчивая $ ultimo_registro и solucionó моя проблема. Спасибо в любом случае из-за твоих идей. –  21.02.2017, 02:17

Теги

Похожие вопросы