Foros del Web » Programando para Internet » PHP »

sustituir echo por link directo

Estas en el tema de sustituir echo por link directo en el foro de PHP en Foros del Web. tengo este pedaso de codigo echo (" bienvenido no hay partida en estos momentos pero "); print "<a href='juego.html'> entra a la sesion y registrate ...
  #1 (permalink)  
Antiguo 04/12/2008, 22:10
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Exclamación sustituir echo por link directo

tengo este pedaso de codigo

echo (" bienvenido no hay partida en estos momentos pero ");
print "<a href='juego.html'> entra a la sesion y registrate en el Chat del juego </a>";

esto me imprime en pantalla un parrafo y un link
deseo quitar eso y cambiarlo por totro codigo o acion
cual es el codigo para que al cumplir el logging ir directamente a otro documento php sin nesesidad de dar click en un link secundario??
  #2 (permalink)  
Antiguo 04/12/2008, 22:12
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: sustituir echo por link directo

Puedes, sin enviar ningún tipo de salida modifcar el header (cabecera) para redireccionar, o usar un metatag para redireccionar transcurridos X segundos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 04/12/2008, 22:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: sustituir echo por link directo



sabes HTML ??


NOTA que esto no tiene que ver con PHP ... tan solo es HTML, si no sabes.. no lo dudes, ve e investiga sobre alguna referencia básica... te sera util!


suerte...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 04/12/2008, 22:26
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: sustituir echo por link directo

Si lo que quieres hacer es algo como lo que sucede al loguearse en este foro puede hacerlo con Javascript:

Código:
<SCRIPT LANGUAGE="JavaScript">
  function redireccionar() {
    setTimeout("location.href=otra_pagina.php", 5000);//Aqui debes poner a que pagina quieres redireccionar
  }
  </SCRIPT>
Ahora deberias llamar este método en la etiqueta BODY.

Código:
<BODY onLoad="redireccionar()">
No se si esto es lo querias, pero espero que te ayude.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
  #5 (permalink)  
Antiguo 04/12/2008, 22:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: sustituir echo por link directo

Con un metatag sería: :
Código html:
Ver original
  1. <meta http-equiv="refresh" content="5;URL=http://www.google.com/" />
Redirecciona en 5 segundos a Google.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 04/12/2008, 22:35
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: sustituir echo por link directo

Pues ahora arganisgk tienes varias opciones, asi que solo tienes que escoger, total en gustos y colores no han escrito los autores.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
  #7 (permalink)  
Antiguo 04/12/2008, 22:41
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: sustituir echo por link directo

ok entiendo las dos opciones pero como meto esas opciones en un archivo full php ???


Cita:
<?
// Configura los datos de tu cuenta
$dbhost='127.0.0.1';
$dbusername='xxx';
$dbuserpass='xxx';
$dbname='xxxxx';

session_start();
// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');

if ($_POST['username']) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if ($password==NULL) {
echo "La password no fue enviada";
}else{
$query = mysql_query("SELECT username,password,GM FROM user WHERE username = '$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "Login incorrecto";
}else{
$query = mysql_query("SELECT username,password FROM user WHERE username = '$username'") or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
echo $_SESSION["s_username"];
echo (" bienvenido no hay partida en estos momentos pero ");
print "<a href='juego.html'> entra a la sesion y registrate en el Chat del juego </a>";
}
}
}
?>
  #8 (permalink)  
Antiguo 04/12/2008, 22:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: sustituir echo por link directo

Y... qué tal un echo. O hasta
Código php:
Ver original
  1. <?php /* Código PHP */ ?>HTML<?php /* Sigue código PHP... */ ?>
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 04/12/2008, 22:54
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: sustituir echo por link directo

Mira yo no soy muy partidario de meter codigo HTML en un script php en el que hagas logica de negocio, seria mucho mejor si implementaras un patron MVC o programaras en capas.

Si quieres usar la funcion header, no tienes que enviar nada al navegador antes de realizar la llamada a la función header, si usas header en tu codigo has que cuando se loguee correctamente lo envie a la pagina que quieras.

Si necesitas que una vez logueado te muestre un mensaje antes de redireccionar, pues en ese caso de tu script anterior envialo a una pagina intermedia con el header y en ese archivo intermedio le haces el redireccionamiento con javascript.

Si optas por usar el metatag pues lo dejo para que David el grande te lo explique.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
  #10 (permalink)  
Antiguo 04/12/2008, 22:58
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: sustituir echo por link directo

no lo unico que queria era que si ase loggin corectamente lo redireccione a la pagina X.php
  #11 (permalink)  
Antiguo 04/12/2008, 23:03
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: sustituir echo por link directo

Entonces usa header() para cambiar la cabecera (http://www.php.net/manual/es/function.header.php) y listo.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 04/12/2008, 23:06
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: sustituir echo por link directo

en tal caso si uso este codigo no me tira el redirecionador

Cita:
<?
// Configura los datos de tu cuenta
$dbhost='127.0.0.1';
$dbusername='root';
$dbuserpass='arcanoswalter';
$dbname='ged';

session_start();
// ya puedes acceder a la seccion de ".'<a href="members.php">Miembros</a>'."
// Conectar a la base de datos
mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');

if ($_POST['username']) {
//Comprobacion del envio del nombre de usuario y password
$username=$_POST['username'];
$password=$_POST['password'];
if ($password==NULL) {
echo "La password no fue enviada";
}else{
$query = mysql_query("SELECT username,password,GM FROM user WHERE username = '$username'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "Login incorrecto";
}else{
$query = mysql_query("SELECT username,password FROM user WHERE username = '$username'") or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_username"] = $row['username'];
//echo $_SESSION["s_username"];
//echo (" bienvenido no hay partida en estos momentos pero ");
//print "<a href='juego.html'> entra a la sesion y registrate en el Chat del juego </a>";
}
}
}
?>
<html>
<head>
</head>
<body onLoad="redireccionar()">
<SCRIPT LANGUAGE="JavaScript">
function redireccionar() {
setTimeout("location.href=juego.html",5000);//Aqui debes poner a que pagina quieres redireccionar
}
</SCRIPT>
</body>
</html>
  #13 (permalink)  
Antiguo 04/12/2008, 23:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: sustituir echo por link directo

Cita:
Iniciado por David el Grande Ver Mensaje
Entonces usa header() para cambiar la cabecera (http://www.php.net/manual/es/function.header.php) y listo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 04/12/2008, 23:14
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: sustituir echo por link directo

que noob alguien me hace el favor que sepa de esto y me ordena el codigo XD plzz que toy medio ciego ya y no se como se pone XD...
  #15 (permalink)  
Antiguo 04/12/2008, 23:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: sustituir echo por link directo



Código PHP:
// sentencias....

// <a href="foo">bar</a>
// <meta .../>
// document.location...
header(/* ... */);

// mas sentencias ... 

PDTA: ya viste el manual, ya viste los ejemplos que están ahí ???

(igual y te dan una idea... tal ves)

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 04/12/2008, 23:32
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: sustituir echo por link directo

dios estoy vuelto un ocho ya chekee el manual y si entiendo lo del manual mira

Cita:
<?php
/* Redirect to a different page in the current directory that was requested */
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>
pero no se que informacion meter en donde estan las negritas y segun entiendo eso hace que se redirecione automaticamente o no ???
o puede ser asi

<html> esto significa que deve estar dentro de un archivo html el php me genera html
<?php pero no se si puedo meter codigo html dentro de un archivo php XD
/* This will give an error. Note the output
* above, which is before the header() call */
header('Location: http://www.example.com/'); esactamente donde iria esto segun mi codigo???
?>
  #17 (permalink)  
Antiguo 04/12/2008, 23:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: sustituir echo por link directo

La cabecera sólo la puedes modificar antes de enviar cualquier tipo de salida, ya sea un espacio en blanco, salida enviada con echo, print, etc... ANTES de CUALQUIER tipo de salida. Y, la lógica, header("Location http://paginadondequieresir/");
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #18 (permalink)  
Antiguo 05/12/2008, 13:30
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: sustituir echo por link directo

= sigo sin saver como implementa el codigo sin que memande error XD
  #19 (permalink)  
Antiguo 05/12/2008, 13:54
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: sustituir echo por link directo

echo (" bienvenido no hay partida en estos momentos pero ");
print "<a href='juego.html'> entra a la sesion y registrate en el Chat del juego </a>";

solo quiero cambiar el codigo por otro que no nesesite esta sentencia para enviarme a otra pagina es como un pop up pero que no me habra en otra ventana lo quiero en la misma ventana
  #20 (permalink)  
Antiguo 05/12/2008, 15:26
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: sustituir echo por link directo

¿Has probado con un metatag como te mencioné en el mensaje #5?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #21 (permalink)  
Antiguo 05/12/2008, 15:40
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: sustituir echo por link directo

Mmmm...
Es sencillo mira...

Sustituye estas lineas
Código:
//echo $_SESSION["s_username"];
//echo (" bienvenido no hay partida en estos momentos pero ");
//print "<a href='juego.html'> entra a la sesion y registrate en el Chat del juego </a>";
por esto
Código:
header("Lotation: PaginaEnCasoDeLoginCorrecto.php")
o siguiendo el ejemplo

Código:
header("Lotation: juego.html")
Y listo, como dicen ellos, no debe haber ninguna salida al navegador antes de Header para que funcione...


Saludos...
  #22 (permalink)  
Antiguo 05/12/2008, 15:48
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: sustituir echo por link directo

Man no es por molestar pero ya desde el Post#6 tenias la respuesta.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:59.