entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

el codigo php da error al incluirlo en html

el codigo php es el siguiente

<?php
$form1=$_POST['form'];
if($form1=1){
define('DB_SERVER','xxx');

define('DB_NAME','xxx);

define('DB_USER','xxx');

define('DB_PASS','xxx');

$con = mysql_connect(DB_SERVER,DB_USER,DB_PASS);
        mysql_select_db(DB_NAME,$con);
        $tiempoactual= time();

        function tiempo($tiempo) {

        $sql = "INSERT INTO tiempo(tiempo)"." VALUES ('$tiempo')";
            $rec = mysql_query($sql);

        }

        tiempo($tiempoactual);
        $a1=mysql_query("SELECT*FROM tiempo WHERE numero='1'");
        $a2=mysql_num_rows($a1);
        $consulta=mysql_query("SELECT*FROM tiempo");
        $a3=mysql_data_seek($consulta,$a2-1);
        $consulta2=mysql_fetch_array($consulta);
        $consulta3=$consulta2["tiempo"];
        $resta=$tiempoactual-$consulta3;
        $var=0;
        $espera=300;
        $restante = $espera-$resta;

        echo '<!DOCTYPE html>
            <html>
            <head></head>
            <body>
            <div id="conteo">' . $restante . '</div>';

        while ( $restante >= 0 )
        {
            echo '<script> document.getElementById(\'conteo\').innerHTML = "' . $restante . '";</script>';

            if( $restante == 0 )
            {
                echo '<script>
                        document.getElementById(\'conteo\').innerHTML = "completado";</script>';
            }

            if (ob_get_contents())
            {
                ob_end_flush();
            }

            flush();

            $restante -= 1;

            sleep(1);
        }

        echo '</body>
            </html>';

    }
    else
        echo "
<form  method=\"POST\" action=\"http://www.allfreebitcoins.tk/index.html\">
<input type=\"hidden\" name=\"s\" value=\"200\">
<input type=\"hidden\" name=\"form1\" value=\"1\">
<input class=\"btn btn-success\" type=\"submit\" value=\"Ready to visit\">
</form>"
?>

hasta ahi todo bien , no me sale ningun tipo de problema pero cuando lo guardo como pagina html me da un error en la linea

echo '<script> document.getElementById(\'conteo\').innerHTML = "' . $restante . '";</script>';

y no se a que se debe, es que miro esa linea y no hay nada mal, porque es la misma linea que en el documento php vamos

PD: he creado este tema porque creo que el anterior ya se habia desvirtuado mucho con los comentarios y la pregunta inicial ya esta mas que resuelta

0voto

white comentado

que error te da?

0voto

oscar rodriguez comentado

me sale en el dreamweaver error en la sintaxis de la linea 53 que es esa linea

0voto

white comentado

Desconozco como maneja los errores dreamweaver, pero es posible que sea un warning y no un error?
intentaste probando tu script php en tu servidor? tambien te arroja error?

0voto

oscar rodriguez comentado

en el servidor se queda cargando y pone esto Service Temporarily Unavailable

The server closed the connection without sending any data.

The server is temporarily unable to service your request due to maintenance downtime or capacity problems.

Due to heavy load on the server, connections may be temporarily blocked from locations that fetch an unusually high number of pages.

We apologize for the inconvenience.
pero todas las demas paginas funcionan perfectamente

2 Respuestas

3votos

Leonardo-Tadei Puntos227320

Por lo que describís, es muy probable que $restante tenga un valor absurdamente alto, y el script tarde más de 30 segundos en terminar, que es el máximo permitido por default por los servidores web. Las plataformas de hosting pueden subir este valor, pero es raro que sea mayor de 60 segundos.

Poné antes del bucle un var_dump($restante); y contanos con qué valor entra...

Tampoco entiendo mucho eso de "guardarlo como página HTML"... para que un script PHP se ejecute debe tener extensión .php o alguna otra indicada por la plataforma de hosting.

0voto

oscar rodriguez comentado

era problema del server que no se porque no funciona, pero gracias por la ayuda

2votos

white Puntos75880

No me había fijado, te falta una comilla simple aca:

define('DB_NAME','xxx <----------

debería estar asi:

define('DB_NAME','xxx');

intenta agregar al principio de tu script esto:

<?php
    set_time_limit (0);

y reemplaza esto:

<head></head>

por esto:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>

saludos!

0voto

oscar rodriguez comentado

lo primero ha sido un fallo al copiarlo a la pagina y he agregado las otras dos cosas que has dicho y sigue sin funcionar

0voto

white comentado

Has lo que te propone @Leonardo antes del while agrega:

var_dump($restante);

despues de :
$consulta=mysql_query("SELECT*FROM tiempo");
y de:
mysql_select_db(DB_NAME,$con);

agrega:

echo mysql_errno($con) . ": " . mysql_error($con). "\n";

y reviza que mensajes te devuelve el servidor.

0voto

oscar rodriguez comentado

vale nada ha sido un problema de mi server, he probado en otro y funciona perfectamente

0voto

oscar rodriguez comentado

era problema del server que no se porque no funciona, pero gracias por la ayuda

0voto

Leonardo-Tadei comentado

Con la información de debbuging que te proponemos con @white, deberías poder encontrar el error que da en el servidor... podría ser por ejemplo que no esté conectando a la DB, o lo que te decía del timeout...

Luego poné las salidas por acá así podremos ayudarte.

A veces, más que la solución, lo que obtendrás son técnicas que te ayuden a encontrar el problema.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta