Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con continuación de página

Estas en el tema de Problema con continuación de página en el foro de PHP en Foros del Web. Hola a todos. Tengo el siguiente código que comprueba si un dominio esta Online o no. El problema es que tengo publicidad justo debajo de ...
  #1 (permalink)  
Antiguo 08/04/2014, 11:59
 
Fecha de Ingreso: octubre-2013
Ubicación: Madrid
Mensajes: 53
Antigüedad: 10 años, 5 meses
Puntos: 1
Problema con continuación de página

Hola a todos.

Tengo el siguiente código que comprueba si un dominio esta Online o no.
El problema es que tengo publicidad justo debajo de este código y en una barra lateral, y ésta publicidad no se muestra. He probado a eliminar partes del código y parece que es la parte del resultado la que da el problema, pero claro si la elimino, el servicio no funciona. Alguien podría ayudarme a echarle un vistazo a ver si encontramos el problema, porque me esta volviendo loco.

Código PHP:
<?php
function pingDomain($domain){
    
$starttime microtime(true);
    
$file      fsockopen ($domain80$errno$errstr10);
    
$stoptime microtime(true);
    
$status    0;
    if (!
$file$status = -1;
    else {
        
fclose($file);
        
$status = ($stoptime $starttime) * 1000;
        
$status floor($status);
    }
    return 
$status;
}
?>
<form id="InWP" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="domain" id="domain">
<center>
<input size="50" type="text" name="domainname" id="domainname">
<br />
<input value=" Realizar PING " type="submit" name="submitBtn">
</center>
</form>
<br />
<div id="ResDiv">
<?php
if (isset($_POST['submitBtn'])){
$domainbase = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
$domainbase str_replace("http://","",strtolower($domainbase));
?>
<?php
$status 
pingDomain($domainbase);
if (
$status != -1) echo "Los resultados del PING de $domainbase son:<br><br>ONLINE - Se ha obtenido respuesta ($status ms)";
else echo 
"Los resultados del PING de $domainbase son:<br><br>OFFLINE - No se ha obtenido respuesta";
?>
<?php
}
?>
</div>
Muchas gracias de antemano a todos.
Un Saludo.
  #2 (permalink)  
Antiguo 10/04/2014, 04:07
 
Fecha de Ingreso: octubre-2013
Ubicación: Madrid
Mensajes: 53
Antigüedad: 10 años, 5 meses
Puntos: 1
Hola de nuevo.

Alguien ha podido mirarlo?

Gracias otra vez.
  #3 (permalink)  
Antiguo 11/04/2014, 08:30
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Problema con continuación de página

El código en sí deberia estar bien, pero como dices, ese no es el código completo. Quiero, pero para ayudar no hay suficiente información.

Unos consejos para tu código:

-Si esto es una página web y no un script, separa el controlador de la vista, haz un archivo con las funciones y otro que sea principalmente html con el php indispensable.

-Enves de usar {} cuando mezclas html con "if" de php, intenta usar este procedimiento para un código mas limpio

Cita:
<?php if (condition): ?>

Codigo html si la condicion es verdadera

<?php else: ?>

Codigo html si la condicion es falsa

<?php endif ?>
Todo esto no lo digo por quejica, sino porque entre menos desordenado tienes el código, antes encontrarás el error por ti mismo y te será mas facil en un futuro expandir tu código.

si puedes darnos algo mas de información igualmente, estamos aquí.
  #4 (permalink)  
Antiguo 11/04/2014, 10:11
 
Fecha de Ingreso: octubre-2013
Ubicación: Madrid
Mensajes: 53
Antigüedad: 10 años, 5 meses
Puntos: 1
Muchas gracias Qazser.

En cuanto tu pregunta, si es una página web completa esto es sólo una función pero para que me muestre los resultados en la misma página tengo que poner el código PHP y mostrarlo en la misma página html ya que si lo pongo separado tendría que hacer llamada a esa página PHP desde el formulario y luego redirigirlo a otra página resultados,pero quiero que me lo muestren la misma. Intentaré aplicar lo que me has dicho de no usar los corchetes y comentó a ver qué tal

1000 gracias de nuevo eres muy amable.
Saludos.
  #5 (permalink)  
Antiguo 12/04/2014, 10:20
 
Fecha de Ingreso: octubre-2013
Ubicación: Madrid
Mensajes: 53
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Problema con continuación de página

Hola de nuevo Qazser.

Lo he probado como me has dicho, pero me devuelve un error en el ELSE.

el código ahora está así, no he metido el html separado como me decias porque lleva incrustaciones de PHP para que muestre el dominio y el tiempo de respuesta.

Código PHP:
<?php
function pingDomain($domain){
    
$starttime microtime(true);
    
$file      fsockopen ($domain80$errno$errstr10);
    
$stoptime microtime(true);
    
$status    0;
    if (!
$file$status = -1;
    else {
        
fclose($file);
        
$status = ($stoptime $starttime) * 1000;
        
$status floor($status);
    }
    return 
$status;
}
?>
<form id="InWP" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="domain" id="domain">
<center>
<input size="50" type="text" name="domainname" id="domainname">
<br />
<input value=" Realizar PING " type="submit" name="submitBtn">
</center>
</form>
<br />
<div id="ResDiv">
<?php
if (isset($_POST['submitBtn'])){
$domainbase = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
$domainbase str_replace("http://","",strtolower($domainbase));
}
?>
<?php
$status 
pingDomain($domainbase);
?>
<?php 
if ($status != -1) echo "Los resultados del PING de $domainbase son:<br><br>ONLINE - Se ha obtenido respuesta ($status ms)"?>
<?php 
else echo "Los resultados del PING de $domainbase son:<br><br>OFFLINE - No se ha obtenido respuesta"?>
<?php 
endif ?>
</div>
Creo que no esta bien, bueno... es evidente. De este modo, en la vista previa si que me muestra la publicidad y la página continúa bien, pero al subirlo me da el error

Parse error: syntax error, unexpected 'else' (T_ELSE) in /homepages/5/d452029743/htdocs/wst/internet/informacion/realizar-ping.php on line 226

Gracias de nuevo por tu ayuda.
Un abrazo.
  #6 (permalink)  
Antiguo 12/04/2014, 10:28
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Problema con continuación de página

Está fallando por los ":" que no los has puesto..peeeeroooo si tienes un bloque de 3 lineas de php no es necesario abrir y cerrar cada vez..Pongo un ejemplo de como dejaria yo el codigo en el mismo archivo

Código PHP:
<?php
function pingDomain($domain){
    
$starttime microtime(true);
    
$file      fsockopen ($domain80$errno$errstr10);
    
$stoptime microtime(true);
    
$status    0;
    if (!
$file$status = -1;
    else {
        
fclose($file);
        
$status = ($stoptime $starttime) * 1000;
        
$status floor($status);
    }
    return 
$status;
}
?>
<form id="InWP" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="domain" id="domain">
<center>
<input size="50" type="text" name="domainname" id="domainname">
<br />
<input value=" Realizar PING " type="submit" name="submitBtn">
</center>
</form>
<br />
<div id="ResDiv">

<?php
if (isset($_POST['submitBtn'])){
    
$domainbase = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
    
$domainbase str_replace("http://","",strtolower($domainbase));
}

$status pingDomain($domainbase);
 if (
$status != -1) echo "Los resultados del PING de $domainbase son:<br><br>ONLINE - Se ha obtenido respuesta ($status ms)";
else echo 
"Los resultados del PING de $domainbase son:<br><br>OFFLINE - No se ha obtenido respuesta"
?>
</div>
Principalmente he quitado aberturas y cierres del php inecesarios...el if, else, endif está pensado cuando tienes que abrir y cerrar mucho php por html en medio, pero si vas a imprimir html con un echo no hace falta.

Con esto he limpieado algo pero seguimos sin saber que fallo hace que no se vea la publicidad.
  #7 (permalink)  
Antiguo 12/04/2014, 10:48
 
Fecha de Ingreso: octubre-2013
Ubicación: Madrid
Mensajes: 53
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Problema con continuación de página

Gracias por tu tiempo.

Lo he probado y sigue sin continuar la página, el servicio funciona pero no sale lo demás después de este código, está claro que el problema es este código porque si lo quito todo lo demás sale.

lo he dejado así para que no haga los echo antes de darle al botón.

Código PHP:
<?php
function pingDomain($domain){
    
$starttime microtime(true);
    
$file      fsockopen ($domain80$errno$errstr10);
    
$stoptime microtime(true);
    
$status    0;
    if (!
$file$status = -1;
    else {
        
fclose($file);
        
$status = ($stoptime $starttime) * 1000;
        
$status floor($status);
    }
    return 
$status;
}
?>
<form id="InWP" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="domain" id="domain">
<center>
<input size="50" type="text" name="domainname" id="domainname">
<br />
<input value=" Realizar PING " type="submit" name="submitBtn">
</center>
</form>
<br />
<div id="ResDiv">
<?php
if (isset($_POST['submitBtn'])){
    
$domainbase = (isset($_POST['domainname'])) ? $_POST['domainname'] : '';
    
$domainbase str_replace("http://","",strtolower($domainbase));
$status pingDomain($domainbase);
 if (
$status != -1) echo "Los resultados del PING de $domainbase son:<br><br>ONLINE - Se ha obtenido respuesta ($status ms)";
else echo 
"Los resultados del PING de $domainbase son:<br><br>OFFLINE - No se ha obtenido respuesta"
?>
</div>
<?php
}
?>
Lo he probado de las dos maneras y en las dos no se muestra el resto de la pagina, pero si cierro con } al final, hace los echo una vez pulsas el boton, de otro modo lo carga todo al inicio.

Ya no se, estoy por dejarlo de momento y pasar a otra cosa porque si esta bien el código ya no se que puede ser, aunque bueno sigo probando y probando.

Voy contando.
Gracias otra vez.
  #8 (permalink)  
Antiguo 12/04/2014, 11:32
 
Fecha de Ingreso: abril-2014
Ubicación: Canarias!
Mensajes: 150
Antigüedad: 10 años
Puntos: 10
Respuesta: Problema con continuación de página

Error encontrado,

<form id="InWP" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="domain" id="domain">

el name="domain" hace conflicto con el javascript de google adsense, con borrar el atributo name, se soluciona

Última edición por Qazser; 13/04/2014 a las 07:50
  #9 (permalink)  
Antiguo 20/04/2014, 09:46
 
Fecha de Ingreso: octubre-2013
Ubicación: Madrid
Mensajes: 53
Antigüedad: 10 años, 5 meses
Puntos: 1
Respuesta: Problema con continuación de página

Gracias a Qazser por su tiempo, al final el conflicto que explica en el mensaje anterior.

Saludos.

Etiquetas: página
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 00:22.