Foros del Web » Programando para Internet » PHP »

header

Estas en el tema de header en el foro de PHP en Foros del Web. No se porque no me funciona el header :S Os pongo en rojo donde esta, esta al final <? // Definimos que vamos a usar ...
  #1 (permalink)  
Antiguo 22/04/2009, 09:43
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
header

No se porque no me funciona el header :S
Os pongo en rojo donde esta, esta al final

<?
// Definimos que vamos a usar sesiones en este archivo
session_start();
?>
<?
include("conec.php");
$link=conectarse(datos);
$usuario=$_POST["usuario"];
$password=$_POST["password"];
$resultado=mysql_query("select * from tecnicos WHERE usuario like'$usuario' and password like'$password'", $link);
while($row=mysql_fetch_array($resultado)){
$usuario2=$row['usuario'];
$password2=$row['password'];
}
if ($usuario==$usuario2 && $password==$password2)
{
$valido="si";
}
else
{
$valido="no";
}
?>
<? if ($valido=="no")
{
?>
<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function testform(){
if (document.forms[0].elements[0].value == ""){
alert("El campo Usaurio. o Password no puede estar vacío")
document.forms[0].elements[0].focus()
return false
}
if (document.forms[0].elements[1].value == ""){
alert("El campo Password no puede estar vacío")
document.forms[0].elements[1].focus()
return false
}
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-->
</script>
<link rel="shortcut icon" href="imagenes/favicon.ico" type="image/x-icon" />
<title>Datos</title>
<style type="text/css">
<!--
.Estilo3 {
font-size: 12px;
font-family: "comic Sans MS";
color: #FF0000;
}
-->
</style>
</head>
<body bgcolor="#DADADA">
<!--<body topmargin="0" background="imagenes/fondo1.jpg" bgproperties="fixed">-->
<br>
<br><br><br>
<form method="POST" action="index2.php">
<center>
<br><br>
<table width="600" height="271" border="0" background="imagenes/inicio2.gif" >

<tr><td width="592">
<table>
<tr><td width="74">&nbsp;&nbsp;</td>
<td width="98">Usuario: </td>
<td width="92">
<input type="password" name="usuario" size="15"></td></tr>
<tr><td height="24">&nbsp;&nbsp;</td>
<td>Password: </td><td>
<input type="password" name="password" size="15"></td></tr>
<script language="JavaScript" type="text/JavaScript">
<!--
document.forms[0].elements[0].focus()
-->
</script>
<tr><td height="37" colspan="3"><center><input type="submit" value="Aceptar" name="privado"></center></td></tr>
<tr><td colspan="3"><center>
<span class="Estilo3">Usuario o Contraseña Incorrectos</span>
</center>
</td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>
<? }
else
{
//Nos dirige a buscar.php
//header('Location: buscar.php');
header("refresh: 1; URL=buscar.php");
}?>
  #2 (permalink)  
Antiguo 22/04/2009, 09:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: header

¿por que no sirve???

arroja un error??

NOTA que con... (que esta después de session_start())


?>
<?


estas creando un espacio innecesario ... y por lo tanto, ese sea el error....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/04/2009, 09:59
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: header

Fatal error: Cannot redeclare conectarse() (previously declared in D:\AppServ\www\DATOS EMPRESA\conec.php:4) in D:\AppServ\www\DATOS EMPRESA\conec.php on line 10


Eso no es, porque se lo e quitado y le da igual xd

el conec es este
<?php
function conectarse($bbdd)
{
if ($link=mysql_connect(""localhost","root","password "))
if (mysql_select_db("datos",$link))
return $link;
}
?>
  #4 (permalink)  
Antiguo 22/04/2009, 10:06
 
Fecha de Ingreso: abril-2009
Ubicación: Cuba
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Respuesta: header

El error que te está dando es que tienes la función conectarse redeclarada.

Fijate a ver, en que parte se te repite la llamada al archivo de la configuracion o vuelves a definir la funcion conectarse

Saludos.
  #5 (permalink)  
Antiguo 22/04/2009, 10:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: header

no, no la llamo por ningun ladomas, ese es el codigo del archivo, no hay nada mas
  #6 (permalink)  
Antiguo 22/04/2009, 10:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: header

Prueba usar include_once en lugar de include.

Saludos.
  #7 (permalink)  
Antiguo 22/04/2009, 10:10
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: header

lo mismo, aunque le ponga include_once.
tampoco me funciona header('Location: buscar.php');
  #8 (permalink)  
Antiguo 22/04/2009, 10:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: header

El header() nunca te va funcionar ya que lo estas llamando después de todo el código HTML, no puedes enviar ningún tipo de cabecera después de imprimir nada de texto, ya sea HTML, Javascript, CSS, etc.

Saludos.
  #9 (permalink)  
Antiguo 22/04/2009, 10:34
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: header

entonces, como puedo eviar una funcion asi? :S en ese codigo
  #10 (permalink)  
Antiguo 22/04/2009, 10:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: header

Puedes usar javascript para redireccionar aunque ten en cuenta que si el usuario tiene Javascript desactivado no va a funcionar la redireccion.

Saludos.
  #11 (permalink)  
Antiguo 22/04/2009, 10:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
Respuesta: header

entonces no me vale para nada :S

no podria utilizar un $direccion=header('Location: buscar.php');, no?

else
$direccion

no funcionaria no :S
  #12 (permalink)  
Antiguo 22/04/2009, 10:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: header

en realidad NO estas imprimiendo nada de nada.... ya que solo ejecutas el header() cuando cae en el else ¿cierto??

bien, pues vuelvo a lo mismo....

los:

?>
<?


que tienes regados en el código son innecesarios... de veras!!

todo puedes hacerlo en un solo <?php ?>

ya que cada corte que haces con ?>
<?

estropea la salida pues genera un salto de linea o algo así.... y ya que es obvio que session_start() no te da errores.... y funciona casi igual que header()

pues...

¿me explico??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 22/04/2009, 10:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: header

No, si ves en el Manual de PHP, la función header() no devuelve nada, sirve solamente para enviar una cabezera al navegador web.

Saludos.
  #14 (permalink)  
Antiguo 22/04/2009, 10:48
 
Fecha de Ingreso: marzo-2009
Mensajes: 480
Antigüedad: 15 años
Puntos: 1
si si, si en eso creo que te echo caso, mira. Pero no funciona

<?
include("conec.php");
$link=conectarse(datos);
$usuario=$_POST["usuario"];
$password=$_POST["password"];
$resultado=mysql_query("select * from tecnicos WHERE usuario like'$usuario' and password like'$password'", $link);
while($row=mysql_fetch_array($resultado)){
$usuario2=$row['usuario'];
$password2=$row['password'];
}
if ($usuario==$usuario2 && $password==$password2)
{
$valido="si";
}
else
{
$valido="no";
}
if ($valido=="no")
{
?>
<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function testform(){
if (document.forms[0].elements[0].value == ""){
alert("El campo Usaurio. o Password no puede estar vacío")
document.forms[0].elements[0].focus()
return false
}
if (document.forms[0].elements[1].value == ""){
alert("El campo Password no puede estar vacío")
document.forms[0].elements[1].focus()
return false
}
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-->
</script>
<link rel="shortcut icon" href="imagenes/favicon.ico" type="image/x-icon" />
<title>Datos</title>
<style type="text/css">
<!--
.Estilo3 {
font-size: 12px;
font-family: "comic Sans MS";
color: #FF0000;
}
-->
</style>
</head>
<body bgcolor="#DADADA">
<!--<body topmargin="0" background="imagenes/fondo1.jpg" bgproperties="fixed">-->
<br>
<br><br><br>
<form method="POST" action="index2.php">
<center>
<br><br>
<table width="600" height="271" border="0" background="imagenes/inicio2.gif" >

<tr><td width="592">
<table>
<tr><td width="74">&nbsp;&nbsp;</td>
<td width="98">Usuario: </td>
<td width="92">
<input type="password" name="usuario" size="15"></td></tr>
<tr><td height="24">&nbsp;&nbsp;</td>
<td>Password: </td><td>
<input type="password" name="password" size="15"></td></tr>
<script language="JavaScript" type="text/JavaScript">
<!--
document.forms[0].elements[0].focus()
-->
</script>
<tr><td height="37" colspan="3"><center><input type="submit" value="Aceptar" name="privado"></center></td></tr>
<tr><td colspan="3"><center>
<span class="Estilo3">Usuario o Contraseña Incorrectos</span>
</center>
</td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>
<? }
else
{
header('Location: buscar.php');
}
?>

claro, pero no entinedo muy bien porque no puedo hacer eso, ya se que solos e peude poner al principio, pero no le encuentro sentido :S
  #15 (permalink)  
Antiguo 22/04/2009, 10:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: header

otra... si conec.php solo contiene PHP omite el ?> del final... y procura que no haya mas espacios antes del primer <?php

ya que tal ves desde ahí se cuele un espacio o algo mas....


o una mas... si cuando asignas $valido="si"; ¿haces la redirección ahí??

es lo mismo, pero desde antes!


o, invierte la lógica...

Código PHP:
if ($valido == 'si')
{
  
header(/* ... */);
}
else
{
//  HTML ...


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

No atiendo por MP nada que no sea personal.
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 22:42.