Foros del Web » Programando para Internet » PHP »

me da un error interno del servidor pero no muestra linea

Estas en el tema de me da un error interno del servidor pero no muestra linea en el foro de PHP en Foros del Web. tengo esto Código PHP: $error  =  false ; $url    =  trim ( urldecode (@ $_REQUEST [ 'url' ]));     if (!empty( $url ) && ! $error ) { ...
  #1 (permalink)  
Antiguo 23/02/2009, 18:12
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 1 mes
Puntos: 8
me da un error interno del servidor pero no muestra linea

tengo esto

Código PHP:
$error false;
$url   trim(urldecode(@$_REQUEST['url']));
 
 
if (!empty(
$url) && !$error) {
    if (
$url{strlen($url) - 1} == "/") {
        
$url substr($url0, -1);
    }
    if (!
preg_match("/^(ht|f)t(p|ps)\:\/\//si"$url)) {
        
$url "http://".$url;
    }
    
$length strlen($url);
    
$count  0;
    
db_connect();
    do {
        
$short_url generate_url();
        
$suffix    $short_url{0};
        
$result mysql_query("SELECT url, short_url FROM url_{$suffix} WHERE short_url = '$short_url' OR url = '$url'") or die(mysql_error());
        
$count  mysql_num_rows($result);
        if (
$count 0) {
            
$row mysql_fetch_row($result);
            if (
stripslashes($row[0]) == $url) {
                break;
            }
        }
        else {
            
mysql_query("INSERT INTO url_{$suffix} (short_url, url, created) VALUES ('$short_url', '".mysql_real_escape_string($url)."', NOW())") or die(mysql_error());
            break;
        }
    } while (
$count 0);
    
$short_url    "http://".$config['domain']."/".((!$config['rewrite']) ? "?" "").$short_url;
    
$short_length strlen($short_url);
    echo 
"<div class=\"ResultTitle\"><strong>URL exprimida!</strong></div><br />\n".
         
"<div class=\"ResultBody\">La URL que puedes mostrar:<br /><br />\n".
         
"<strong>$url</strong><br /><br />\n".
         
"tiene una longitud de   $length caracteres y dio lugar a la siguiente dirección URL abreviada que tiene una longitud de $short_length caracteres:<br /><br />\n".
         
"<strong>$short_url</strong><br /><br />\n".
         
"[ <a href=\"$short_url\" target=\"_blank\">Abrir en una nueva ventana</a> ]</div>\n";
}
else {
    echo 
"<div class=\"ErrorBody\"><strong>La Dirección corta ya esta en uso prueba con otra!!!!.</strong></div><br />\n";

pero cuando le pongo la misma short_URL no me saca el mensaje de "la direccion ya esta en uso prueba con otra"

simplemente me escupe un error de servidor


Cita:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
  #2 (permalink)  
Antiguo 23/02/2009, 18:22
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: me da un error interno del servidor pero no muestra linea

Mira el log de errores de tu servidor. Ahi encontrarás más información al respecto. generalmente esos errores significan una mala configuración de Apache (Podría ser algo mal puesto en un archivo .htaccess)

  #3 (permalink)  
Antiguo 23/02/2009, 18:49
 
Fecha de Ingreso: octubre-2003
Ubicación: Cerca de una wifi o 3G
Mensajes: 328
Antigüedad: 20 años, 6 meses
Puntos: 4
Respuesta: me da un error interno del servidor pero no muestra linea

$_REQUEST?? por que no un simple $_GET? o porque ocupas $_REQUEST??

$url{strlen($url) - 1} porque esos parentesis? mejor $url(strlen($url) - 1)

$suffix = $short_url{0}; lo mismo

no entiendo el sentido de esos do y esos break, no entiendo para que se deberia volver a realizar el bucle, incluso $count no tiene sentido

estas funciones tambien las deberias revisar db_connect();
generate_url();

$config['domain'] ???

una consulta a que te refieres pero cuando le pongo la misma short_URL no me saca el mensaje de "la direccion ya esta en uso prueba con otra" bueno podria ser que cambies if (!empty($url) && !$error)

por

if (!empty($url) || !$error) eso me parece mas correcto por que no tiene sentido qie si no hay error consulte por una url vacia



sobre el error, debe ser un error 500 y que no encuentra el archivo de dicho error o algun problema tipo CGI o un bucle infinito que es parado por algun sistema protector del server

eso es todo lo que se me ocurre que podria producir error
__________________
Ayuda!! firmar y compartir
No a la privatizacion de semillas http://www.thepetitionsite.com/1/no-...n-de-semillas/
Mas info: http://chilesintransgenicos.cl/
  #4 (permalink)  
Antiguo 23/02/2009, 21:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: me da un error interno del servidor pero no muestra linea

Cita:
Iniciado por Remsankar Ver Mensaje
[...] porque esos parentesis? mejor $url(strlen($url) - 1)

$suffix = $short_url{0}; lo mismo [...]
paréntesis... ¿???

se llaman llaves... o algo así, demás... te has confundido... ya que $url (supongo) no es una función... por eso ¿para que los paréntesis??

el esta haciendo uso del viejo estilo (por cierto, obsoleto) de arrays....

osea, debería ir así, con corchetes.... si

Código PHP:
$url[strlen($url) - 1];

// ...

$suffix    $short_url[0]; // lo mismo 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 24/02/2009, 01:52
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años, 1 mes
Puntos: 8
Respuesta: me da un error interno del servidor pero no muestra linea

perdon el codigo que me falla es este

Código PHP:
ob_start();
require("config.php");
require("global.php");
require("header.php");
if ($config['recaptcha']) {
  require("recaptchalib.php");
}
$error = false;
$url   = trim(urldecode(@$_REQUEST['url']));
$nom_sugest = trim(@$_REQUEST['nom_sugest']);
if ($config['recaptcha']) {
    $response = recaptcha_check_answer($config['recaptcha_privatekey'], $_SERVER['REMOTE_ADDR'], @$_POST['recaptcha_challenge_field'], @$_POST['recaptcha_response_field']);
    if (!$response->is_valid) {
        $error = true;
        echo "<div class=\"ErrorBody\">El codigo de seguridad no es correcto, prueba otra vez.</div><br />\n";
    }
    else if ($response->error) {
        $error = true;
        echo "<div class=\"ErrorBody\">reCAPTCHA caused an error: {$response->error}</div><br />\n";
    }
}
else if ($config['captcha']) {
    session_start();
    if (!$_SESSION['captcha_phrase'] || $_SESSION['captcha_phrase'] != @$_POST['captcha']) {
        $error = true;
        echo "<div class=\"ErrorBody\">El codigo de seguridad no es correcto, prueba otra vez.</div><br />\n";
    }
}
if (!empty($url) && !empty($nom_sugest) && !$error) {
    if ($url{strlen($url) - 1} == "/") {
        $url = substr($url, 0, -1);
    }
    if (!preg_match("/^(ht|f)t(p|ps)\:\/\//si", $url)) {
        $url = "http://".$url;
    }
    $length = strlen($url);
    $count  = 0;
    db_connect();
    do {
  $short_url_1 = str_replace (" ", "%20", $nom_sugest);
        $short_url = "_".$short_url_1;
        /*$suffix    = $short_url{0};*/
        $result = mysql_query("SELECT url, short_url FROM url_sugest WHERE short_url = '$short_url'") or die(mysql_error());
        $count  = mysql_num_rows($result);
        if ($count > 0) {
            $row = mysql_fetch_row($result);
            if (stripslashes($row[0]) == $url) {
                break;
            }
        }
        else {
            mysql_query("INSERT INTO url_sugest (short_url, url, created) VALUES ('$short_url', '".mysql_real_escape_string($url)."', NOW())") or die(mysql_error());
            break;
        }
    } while ($count > 0);
    $short_url    = "http://".$config['domain']."/".((!$config['rewrite']) ? "?" : "").$short_url;
    $short_length = strlen($short_url);
 $short_url_sense = str_replace ("%20", " ", $short_url);
    echo "<div class=\"ResultTitle\"><strong>URL exprimida!</strong></div><br />\n".
         "<div class=\"ResultBody\">La URL que puedes mostrar:<br /><br />\n".
         "<strong>$url</strong><br /><br />\n".
         "tiene una longitud de   $length caracteres y dio lugar a la siguiente dirección URL abreviada que tiene una longitud de $short_length caracteres:<br /><br />\n".
         "<strong>$short_url_sense</strong><br /><br />\n".
         "[ <a href=\"$short_url_sense\" target=\"_blank\">Abrir en una nueva ventana</a> ]</div>\n";
}
else {
    echo "<div class=\"ErrorBody\"><strong>La Dirección corta ya esta en uso prueba con otra!!!!.</strong></div><br />\n";
}
if ($config['captcha']) {
    mt_srand((double) microtime() * 1000000);
    $_SESSION['captcha_phrase'] = substr(strtoupper(md5(mt_rand())), 0, 6);
    session_write_close();
}
?>
<style type="text/css">
<!--
.Estilo1 {
 color: #FF0000;
 font-weight: bold;
}
-->
</style>
<br /><br /><br />
<form method="post" action="create.php">
<div class="FormBody">
<strong>Entra la URL a reducir:</strong><br />
<input type="text" name="url" size="80" />
<br />
<br /><br /><br />
<?php
if ($config['recaptcha']) {
    echo 
recaptcha_get_html($config['recaptcha_publickey']);
}
else if (
$config['captcha']) {
    echo 
"<strong>Codigo de Seguridad:</strong><br />\n".
         
"<img src=\"captcha.php\" alt=\"\"/> <input type=\"text\" name=\"captcha\" size=\"10\" /><br />\n";
}
?>
<input type="submit" value="Reducir" />
</div>
</form>
<form method="post" action="create2.php">
<div id="nuevo_serv">
Nuevo Serv&iacute;cio 
<span class="Estilo1">BETA</span><br />
Ahora puedes poner tu la direcci&oacute;n!!!
<strong><br />
Entra la URL a reducir:</strong><br />
<input type="text" name="url" size="80" />
<br />
<br />
<?php
if ($config['recaptcha']) {
    echo 
recaptcha_get_html($config['recaptcha_publickey']);
}
else if (
$config['captcha']) {
    echo 
"<strong>Codigo de Seguridad:</strong><br />\n".
         
"<img src=\"captcha.php\" alt=\"\"/> <input type=\"text\" name=\"captcha\" size=\"10\" /><br />\n";
}
?>
<br />
<strong>Nombre que deseas...</strong><br />
<input type="text" name="nom_sugest" size="20" id="nom_sugest" />
<em><br />
</em><br />
<input type="submit" value="Reducir" />
</div>
</form>
<br />
<br />
<?php
require("footer.php");
ob_end_flush();
y lo que hace es en el segundo form (ya que el primero va a create.php)

es le envio una URL mas un nom_sugest
me mira en la tabla url_sugest si en nombre sugest existe si no existe lo da de alta si existe ma lanza el error "que ya existe el nombre sugerido"

Última edición por engonga; 24/02/2009 a las 02:06
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 16:28.