Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-07-2007
Avatar de maximo_nashir
maximo_nashir maximo_nashir is offline
Miembro
 
Registrado: ene 2004
Ubicación: República dominicana
Posts: 55
Poder: 23
maximo_nashir Va por buen camino
Talking abriendo url desde la misma página

Les escribo esto porque me dió lucha conseguir abrir una página y ahora que lo conseguí aquí les muestro la forma de abrir una página:

require('http://mydirecciónURL'); //Abre la página que le digamos...
exit();//Limpia la página anterior que estaba y permite que la que hemos llamado se presente sola...


cualquier pregunta me pueden escribir... aunque soy un novato, me gusta ayudar en lo poco que se...
Responder Con Cita
  #2  
Antiguo 10-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. En realidad con "require" lo que se hace es "requerir" un archivo o Script. No se trata de "abrir una página", sino de "incrustar" el contenido del archivo o Script requerido en donde se encuentre el "require" correspondiente.

Si entiendo bien "abrir" una página más bien suena a "redirigir al usuario" a una página. En este caso suele emplearse la función "header" de PHP. En cuanto al "exit", se utiliza para "terminar" la ejecución de un Script.

Pero no creas, yo también soy un novato en estos menesteres (en realidad no sé en qué no lo soy), así que ahora vendrán los maestros a enmendarnos la plana a ambos.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 10-07-2007
Avatar de maximo_nashir
maximo_nashir maximo_nashir is offline
Miembro
 
Registrado: ene 2004
Ubicación: República dominicana
Posts: 55
Poder: 23
maximo_nashir Va por buen camino
Hola David, se que lo que dices es así, pero estoy usando Delphi for PHP Version 1.0.1.414 y a la hora de la verdad no funciona como deberían funcionar y por eso he puesto estas funciones en sustitución del header o del fopen o del opendir, etc.
Responder Con Cita
  #4  
Antiguo 10-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Hombre. Pero eso cómo se come. Si entendemos lo mismo por "abrir una página", es decir, si concluimos que esto quiere decir "llevar al usuario a una página distinta de la que está viendo", entonces, creo que la función "header" es lo suyo, y no creo que Delphi for PHP impida el uso ni de esta ni de otra función de PHP. Vamos, digo yo, ¿eh?

Edito: no se trata de usar la función "header" sin más... se trata de indicar de añadir a las cabeceras HTTP una ("Location") que se encargue de redirigir al usuario, concretamente el asunto quedaría más o menos así:

Código PHP:
header('Location: http://www.clubdelphi.com/'); 
Y conste que "redirigir" es una forma de hablar, puesto que podríamos indicar esto expresamente mediante otra cabecera HTTP y entonces el asunto nos quedaría así:

Código PHP:
header("HTTP/1.1 301 Moved Permanently");
header('Location: http://www.clubdelphi.com/'); 
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 10-07-2007 a las 23:47:25.
Responder Con Cita
  #5  
Antiguo 11-07-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
Hola:

Dec, siento entrometerme en esto..., pero a nuestro amigo dice que header no le funciona, pues a mí tampoco me funciona en la forma que lo escribes, es decir el location lo usas con apostrofes y no con comillas dobles, ¡vamos! que esto a mí no me resulta , es decir es como si php ignorara el contenido de header si no tiene las comillas dobles en el argumento de la función header, pasa de largo por todo el script.

En realidad no sé si será algo de ese archivito llamado ini , puede que a nuestro amigo le pase exactamente lo mismo.

Bueno, espero no estar meando fuera de tiesto... y por cierto en la documentación de php, está escrito de ambas formas.

Saludos.

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
  #6  
Antiguo 11-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. El escribir una vez con comillas simples y otra con dobles comillas, obviamente, es un "error" mía, empero, debería funcionarte igual en todo caso. Únicamente si usas una variable (y forzando un poco el asunto) tendrás que utilizar comillas dobles, de modo que la variable se "expanda" correctamente.

Pero, ya digo, en otro caso el uso de comillas simples o dobles no debería influir, hasta donde yo llego.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 11-07-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
Cita:
Empezado por dec
Pero, ya digo, en otro caso el uso de comillas simples o dobles no debería influir, hasta donde yo llego.
En mi lugar de trabajo, no funciona con comillas simples (pasa de largo por todo el script, aún teniendo su debido exit), echaré un vistazo acá en mi casa para ver que tal.

Gracias.

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
  #8  
Antiguo 11-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Hombre, no están las cosas como para poner las manos en el fuego, pero, es que no hay razón para que no funcione. La función "header" requiere una cadena como parámetro, y, en PHP una cadena puede estar entrecomillada con comillas simples o dobles. No hay tío páseme usté el río. Ahora, que si no funciona, pues oye, no funciona...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #9  
Antiguo 11-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Mira tú por dónde de lo que se entera uno:

Cita:
Empezado por función Header de PHP

(Hablando de distintos casos especiales de uso de "Header")

El segundo caso especial es la cabecera "Location:". No solo envía esta cabecera de vuelta al navegador, sino que también devuelve un código de status REDIRECT (302) al navegador a menos que algún código de status 3xx haya sido enviado ya.
Esto quiere decir que acaso podríamos evitarnos:

Cita:
Empezado por yo mismo
Código PHP:
header("HTTP/1.1 301 Moved Permanently"); 
Pero, no es así; debe haber alguna diferencia entre el código 301 y el 302. Ahora bien, aquí está:

Cita:
Redirection 3xx

The codes in this section indicate action to be taken (normally automatically) by the client in order to fulfill the request.

Moved 301

The data requested has been assigned a new URI, the change is permanent. (N.B. this is an optimisation, which must, pragmatically, be included in this definition. Browsers with link editing capabiliy should automatically relink to the new reference, where possible)

The response contains one or more header lines of the form

URI: <url> String CrLf


Which specify alternative addresses for the object in question. The String is an optional comment field. If the response is to indicate a set of variants which each correspond to the requested URI, then the multipart/alternative wrapping may be used to distinguish different sets

Found 302

The data requested actually resides under a different URL, however, the redirection may be altered on occasion (when making links to these kinds of document, the browser should default to using the Udi of the redirection document, but have the option of linking to the final document) as for "Forward".

The response format is the same as for Moved .
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 11-07-2007 a las 04:39:24.
Responder Con Cita
  #10  
Antiguo 11-07-2007
Avatar de maximo_nashir
maximo_nashir maximo_nashir is offline
Miembro
 
Registrado: ene 2004
Ubicación: República dominicana
Posts: 55
Poder: 23
maximo_nashir Va por buen camino
Dec, tenías razón con el header, es que yo no le estaba poniendo la palabra "location:" a dicha función, así que gracias de todas maneras, si de camino sabes como abrir la url pero desde una nueva ventana, pues te lo agradecería...
Responder Con Cita
  #11  
Antiguo 11-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues me parece que con el caballero PHP no puedes hacer lo que dices, ahora bien, para eso puede salir el paladín JavaScript en nuestra ayuda. Se me ocurre que puedes "escupir" (huy, qué mal ha quedado) un documento HTML que contenga el código JavaScript necesario para abrir una nueva ventana.

Este código podría ejecutarse a partir del evento "onload" del elemento "body" del documento HTML. Podrías usar el método "open" de la clase "window" del objeto "document". Ahora bien, todo esto de que hablo no tiene tiene que ver con PHP, sino que tratamos con JavaScript.

Y no sé yo si el resultado sería el que tú esperas. Es decir, si es un Script PHP quien imprime o da salida al código HTML y JavaScript necesario para hacer lo que te comento, siempre se quedaría esa misma salida ahí... además de la nueva página abierta. Podría, tal vez, tratarse de cerrar la página "primera" desde la "segunda", pero, me parece que nos meteríamos en camisas de once varas.

Si lo que quieres es que desde un enlace, al hacer clic en el mismo, se abra una nueva ventana... entonces no te hace falta para nada PHP, o sea, puede conseguirse directamente con JavaScript, y eso por no usar ya el obsoleto atributo "target" de la etiqueta "A" de HTML. No sé. A ver qué te parece de todo este rollo que he soltado.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #12  
Antiguo 11-07-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
Cita:
Empezado por maximo_nashir
si de camino sabes como abrir la url pero desde una nueva ventana, pues te lo agradecería...
No sé si se podrá en php, pero en html target="_blank" es un atributo de la etiqueta <href>,pueda que te sirva.

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
  #13  
Antiguo 11-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno... parece que me he pasado al declarar "obsoleto" al atributo "target"... a mí me suena que sí que es obsoleto, pero, parece que en la especificación de HTML no lo es... y yo realmente ignoro sin en XHTML es o no es obsoleto este atributo. Pero veamos que dice un maestro:

Cita:
Empezado por TierraDeNomadas.com
La especificación HTML admite el atributo target únicamente en documentos que hacen uso de marcos. (...)
Ahora bien, conviene leer lo que pone a continuación.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #14  
Antiguo 11-07-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
Interesante dec.

Código:
<a href="destino.html" onclick="window.open(this.href);return false;">
Pensé en tal atributo onclick solo existía en los eventos tipo botones o caja de texto, jamás pensé que podría a aplicarse a un atributo de enlace.

Gracias por guiarnos a seguir los estándares...

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
  #15  
Antiguo 11-07-2007
Avatar de maximo_nashir
maximo_nashir maximo_nashir is offline
Miembro
 
Registrado: ene 2004
Ubicación: República dominicana
Posts: 55
Poder: 23
maximo_nashir Va por buen camino
Ok, entiendo, pero no puedo hacerlo desde mi página php que es la que ya tengo creada?, porque probé el código "window.open" de java pero no me funciona y esos códigos de HTML, tengo que cambiar mi projecto de PHP a HTML para que me funcione o cómo le hago?
Responder Con Cita
  #16  
Antiguo 11-07-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
No entiendo el por qué, me imagino que tienes embebido código php dentro de html, de ser así debes determinar dentro de tu script cuando ejecutar el código html.

Código PHP:

<?php
if ($opcion == 1)
   echo 
"<a href='nueva_pagina.php' onclick='window.open(this.href);return false;'>"
else{
   ....
   ....
}
?>
es solo una idea, el anterior script es solo un garabato, un bosquejo...

Trato de trasmitirte cual es la idea, jeje.

Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
  #17  
Antiguo 11-07-2007
Avatar de maximo_nashir
maximo_nashir maximo_nashir is offline
Miembro
 
Registrado: ene 2004
Ubicación: República dominicana
Posts: 55
Poder: 23
maximo_nashir Va por buen camino
uuuaaaaaooooo, ustedes saben mucho, graciasss, me resultó super bien, espero no se molesten porque mañana vendré con más preguntas, pero hoy me acuesto tranquilo porque he resuleto ya estos detalles que me estaban trancando el paso... Gracias :-º)
Responder Con Cita
  #18  
Antiguo 11-07-2007
Avatar de maximo_nashir
maximo_nashir maximo_nashir is offline
Miembro
 
Registrado: ene 2004
Ubicación: República dominicana
Posts: 55
Poder: 23
maximo_nashir Va por buen camino
lucas, pero estoy viendo un pequeño detalle, con el código que pusiste, se que fué un ejemplo, pero lo pegué así mismo y se me está ejecutando cada vez que doy un click a cualdquier parte de la página y yo solo quiero que se ejecute cuando presione click en un menú.

Mira, este es el código que tengo en mi menú de prueba:

if ($params['tag']==1)
{
print('Acaba de pinchar el Link de Conf. Impr.');
}
if ($params['tag']==2)
{

?>
<a href="Usuarios.php" onclick="window.open(this.href);return false;">
<?php

}
if ($params['tag']==3)
$this->Label2->Caption = "Acaba de pinchar el Link de Parámetros";
if ($params['tag']==4)
exit();
Responder Con Cita
  #19  
Antiguo 11-07-2007
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 23
lucasarts_18 Va por buen camino
Vamos por parte, ok. el paso de cualquier variable ya sea por url, por POST o por GET hay 3 formas de obtener esos valores.
  1. $_GET['nombre_variable']
  2. $_POST['nombre_variable']
  3. $_REQUEST['nombre_variable']
Cabe decir que con GET y POST el formulario debe tener el atributo tal como se reciben aquellas variables, es decir, si tu formulario es POST debes recibirlo mediante $_POST, ahora para las URL yo utilizo $_REQUEST, por otra parte desconozco $params, pero de existir creo que que php no lo reconocería de tal forma, intenta con $_PARAMS.
__________________
No todo es como parece ser...

Última edición por lucasarts_18 fecha: 11-07-2007 a las 15:50:03.
Responder Con Cita
  #20  
Antiguo 11-07-2007
Avatar de maximo_nashir
maximo_nashir maximo_nashir is offline
Miembro
 
Registrado: ene 2004
Ubicación: República dominicana
Posts: 55
Poder: 23
maximo_nashir Va por buen camino
Cool Hola,

el $params viene de la opción que te ofrece el componente MainMenu de Delphi4PHP. Pero, después que le doy click a la segunda opción ya no le puedo dar click a nada porque todo lo que hace después de ese momento es llamar la página de usuarios...

Mira, aquí le paso el codigo más completo:

function MainMenu1Click($sender, $params)
{

if ($params['tag']==1)
{
print('Acaba de pinchar el Link de Conf. Impr.');
}
if ($params['tag']==2)
{

?>
<a href="Usuarios.php" onclick="window.open(this.href);return false;">
<?php

}
if ($params['tag']==3)
$this->Label2->Caption = "Acaba de pinchar el Link de Parámetros";
if ($params['tag']==4)
exit();
}
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Búsquedas en la misma página (2). Tonio HTML, Javascript y otros 0 09-03-2007 18:39:53
Búsquedas en la misma página. Tonio HTML, Javascript y otros 4 07-03-2007 10:47:30
Error -2147221164 Abriendo desde BDE una base de datos MSAccess olbeup Conexión con bases de datos 0 02-09-2005 18:05:14
Abriendo archivos de cualquier extension desde jBuilder drZeph JAVA 0 20-09-2004 21:14:07
Dos report en una misma página JavierRoca Impresión 1 16-05-2003 17:11:37


La franja horaria es GMT +2. Ahora son las 17:50:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi