Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Shell Root en 16 Septiembre 2011, 21:10 pm



Título: Mostrar solo div especifica
Publicado por: Shell Root en 16 Septiembre 2011, 21:10 pm
Tengo un archivo index.php que realiza una petición POST al archivo request.php. Todo esta bien, sólo que al momento de imprimir el resultado obtenido de la petición, me muestra el TODO el HTML del archivo request.php, y en este archivo sólo tengo lo siguiente,
Código
  1. if( $_POST['nombre'] == "alex" )
  2. {
  3.   print "Su nombre es alex. YEAH!";
  4. }else{
  5.   print "Su nombre es ".$_POST['nombre'];
  6. }

Entonces tenia pensando en que sólo mostrará el contenido de la etiqueta <return></return>, para así mostrar el resultado concreto. Pero como hago una expresión regular para que busque dentro del tag sin tomar el tag como tal.

En el archivo index.php, tenia lo siguiente pero la expresión no me funciona,
Código
  1. $.post(
  2.   'request.php',
  3.   { nombre:"alex" },
  4.   function showRequest(Data){
  5.      var _Match = Data.match(/<return>.*<\/return>/);
  6.      alert("Return request is: " + _Match[1]);
  7.   }
  8. );


Título: Re: Mostrar solo div especifica
Publicado por: PanConMantequilla en 16 Septiembre 2011, 21:40 pm
lol

si usas ajax, porque no pruebas con lo siguiente

Código
  1. if( $_POST['nombre'] == "alex" )
  2. {
  3.   die("Su nombre es alex. YEAH!");
  4. }else{
  5.   die("Su nombre es ".$_POST['nombre']);
  6. }
  7.  

pd: este codigo tiene que estar antes del inicio de las etiquetas html (<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans.....)

saludos


Título: Re: Mostrar solo div especifica
Publicado por: Shell Root en 16 Septiembre 2011, 21:48 pm
Sisisisisis lo se, pero por algun motivo me esta agregando las entidades básicas del HTML, como os dije, solo tengo:

Código
  1. if( $_POST['nombre'] == "alex" )
  2. {
  3.   print "Su nombre es alex. YEAH!";
  4. }else{
  5.   print "Su nombre es ".$_POST['nombre'];
  6. }

Pero su resultado es,
Código
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
  4. <title>Documento sin t&iacute;tulo</title>
  5. </head>
  6.  
  7.  Su nombre es
  8. </body>
  9. </html>

O por lo menos eso es lo que me muestra al ver el código fuente en Chrome y también lo muestra en el alert();


Título: Re: Mostrar solo div especifica
Publicado por: PanConMantequilla en 16 Septiembre 2011, 21:57 pm
pero probaste usando die() en luga de print como te dije?
si tu archivo request.php va a mostrar el resulado de un proceso no es necesario que tenga dentro codigo html
Aún asi request.php debe de verse asi

Código
  1. <?php
  2. if( $_POST['nombre'] == "alex" )
  3. {
  4.   die("Su nombre es alex. YEAH!");
  5. }else{
  6.   die("Su nombre es ".$_POST['nombre']);
  7. }
  8.  
  9. // el html de abajo no es necesario porque no ayuda en nada si solo esperas una respuesta ajax
  10. ?>
  11.  
  12. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  13. <html xmlns="http://www.w3.org/1999/xhtml">
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
  16. <title>Documento sin t&iacute;tulo</title>
  17. </head>
  18.  
  19. <body>
  20.  Su nombre es
  21. </body>
  22. </html>
  23.  
  24.  

generalmente yo mato el fin del archivo despues de mostrar un proceso ajax con die() pero yo lo hago con 1 solo archivo, no es necesario request.php, todo eso lo tendrias que tener al inicio del mismo archivo usando die()


saludos