Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/01/2011, 15:26
Avatar de repara2
repara2
 
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: Ayuda a redireccionar

paloma, el problema parece ser que o el servidor está realmente sobrecargado o bien lanzas conexiones dentro de un bucle. Al llegar el server al máximo de acomodaciones permitidas te da ese fallo.
Hay otro error que no he notado antes: utilizas los mismos nombres de variables dentro y fuera del bucle, una solución sería esta:

Código PHP:
<?php
$con 
mysql_connect("server","user","password");
if (!
$con)
{
    die(
'Could not connect: ' mysql_error());
}

mysql_select_db("nombre_base"$con);


$result mysql_query("SELECT count(*) AS cuenta, password FROM usuario WHERE username='$_POST[usuario]'");

while(
$row mysql_fetch_assoc($result))
{
    
$crypted md5($_POST["clv"]);

    if (
$row['cuenta']==&& $row["password"] == $crypted ){

        
session_start("autentificado""usuario""nombre""apellido1");
        
$_SESSION["autentificado"]= "SI";
        
$_SESSION["usuario"] = $_POST["usuario"];

        
$result2 mysql_query("SELECT usr_id, username, nombre, apellido1, apellido2, tipo_perfil_id
FROM usuario
WHERE username='$_POST[usuario]';"
);

        
//echo "<table border='0' align='center'>";
        
while($row2 mysql_fetch_assoc($result2))
        {
            
$_SESSION["nombre"] = $row2["nombre"];
            
$_SESSION["apellido1"] = $row2["apellido1"];
            
$redir ".index2.html?usr=" $row2['usr_id'] . "&tp=" $row2['tipo_perfil_id'];
            
header("Location: $redir");

            if (
$row2['cuenta']==54 && $row2["password"] == $crypted ){

                
session_start("autentificado""usuario""nombre""apellido1");
                
$_SESSION["autentificado"]= "SI";
                
$_SESSION["usuario"] = $_POST["usuario"];

                
$result3 mysql_query("SELECT usr_id, username, nombre, apellido1, apellido2, tipo_perfil_id
FROM usuario
WHERE username='$_POST[usuario]';"
);

                
//echo "<table border='0' align='center'>";
                
while($row3 mysql_fetch_assoc($result3))
                {
                    
$_SESSION["nombre"] = $row3["nombre"];
                    
$_SESSION["apellido1"] = $row3["apellido1"];
                    
$redir2 ".index1.html?usr=" $row3['usr_id'] . "&tp=" $row3['tipo_perfil_id'];
                    
header("Location: $redir2");
                }
                
mysql_free_result($result3);
            } else {
                echo 
"<br><br><br><br><br><br><br><br><br><br><br>" ;
                echo 
"<table border='0' align='center'>
<tr>
<th><h1> Su usuario no ha sido aceptado*" 
$_POST[usuario] . "*</h1></th>
</tr>
<tr>
<th> <A href='aviso.html'> Intentar nuevamente </A>
</tr></table>"
;
            }
        }
        
mysql_free_result($result2);

    }
}
mysql_free_result($result);
mysql_close($con);
?>
He agregado la función mysql_free para liberar los recursos del sistema. Por otra parte, si vas a acceder a los recursos por clave, utiliza la función mysql_fetch_assoc que devuelve la mitad de resultados.
Por supuesto que el código se puede simplificar como apunta ninco90, pero eso ya lo harás cuando entiendas y funcione ESTE código. Si lo abandonas sin entender los fallos no aprendes nada. Claro que esta es sólo una opiñión. Espero que te sirva, saludos