Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2012, 04:39
tukymix
Invitado
 
Mensajes: n/a
Puntos:
Responde lo mismo respuesta servidor php+javascript

Hola, buenos dias, necesito la siguiente ayuda. Resulta que tengo los siguientes archivos:

- ajax.js
- index.php
- comp_activ.php

El problema que tengo es, el index.php funciona bien, ok? entonces cuando el usuario se crea el registro de la radio se guarda perfectamente y se va al apartado de registro en el cual manda <script> parent.enviarvariable('.$idradio.'); </script> ok? eso manda a la funcion de ajax.js el id de la radio que se a creado mientras que se queda en la pantalla de espera de una respuesta de ajax.js, entonces el ajax.js envia cada 5 segundos manda a comp_activ.php el id de la radio para que este compruebe cada 5 minutos si se ha activado la emisora o no, entonces la cuestion es que el archivo comp_activ.php detecta que en la base de datos esa emisora tiene activado = 0 pues responde con un KO y si activado = 1 responde con un OK, ahora, la cuestion es que el ajax.js auqnue este activada la emisora, siempre da la respuesta de KO, se que el problema esta en el archivo ajax.js pero nose cierto que es, el archivo index.php y comp_activ.php funcionan perfectamente, pero aun asi el archivo comp_activ.php aunque responda OK, el archivo ajax.js siempre coge respuesta de KO, a continuacion os dejo los scripts, ayudarme porfavor.

index.php :
-----------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Formulario de Contacto</title>
<script src="js/default.js"></script>
<script src="js/ajax.js"></script>

<style>
body {
background-image: url(img/fondo.png);
background-repeat: repeat;
}

#titulo{ margin:auto; font-weight:bold; color:#999; }
#contenedor{width:570px; height:300px; border:2px solid #C0C0C0; padding-left:3px; padding-top:5px; left:50%; top:50%; background-color:#DCDCDC; position:absolute; margin-top: -150px; margin-left: -300px; }
#form1{font-family:Arial, Helvetica, sans-serif; font-size:11px;}
#inp1, #inp2, #inp3, #inp4{
background-image:url(img/fondoinput.GIF);
background-repeat:no-repeat;
background-color: #DCDCDC;
border: none;
width: 205px;
height: 32px;
padding-left: 3px;
padding-top: 6px;
}

#inp8{
background-repeat:no-repeat;
border: none;
width: 140px;
height: 29px;
}

#inp8{background-image:url(img/enviar.gif); cursor:hand;}

input:focus{
background-color: transparent;
}

#divtextarea{ float:right; margin-right:10px; width:342px; height:83px}

#estado{ float:left; width:80px; font-size:9px; }
#estado1{ float:right; width:262px; font-weight:bold; }
#estadoerrores{ float:right; width:262px; font-weight:bold; }
</style>
</head>

<body>
<?
include("conexion.php");
$error="";
if(isset($_POST["enviar"])){

$idradio = rand(1,999999999);
$nusuario = $_POST['nusuario'];
$nemisora = $_POST['nemisora'];
$urlemisora = $_POST['urlemisora'];
$logoemisora = $idradio.$HTTP_POST_FILES['logoemisora']['name'];
$webemisora = $_POST['webemisora'];

if($nusuario == "" || $nemisora =="" || $urlemisora =="" || $webemisora ==""){
$error = "Porfavor, rellena todos los campos....";
$nerror=1;
}else{

$tipo_archivo = $HTTP_POST_FILES['logoemisora']['type'];
if(!strpos($tipo_archivo, "bmp")) {
$error = "La imagen no es del tipo bmp...";
$nerror=1;
}else{

mysql_query("INSERT INTO radios (idradio,nusuario,nemisora,urlemisora,logoemisora, webemisora,activado) VALUES ('$idradio','$nusuario','$nemisora','$urlemisora', '$logoemisora','$webemisora','0') ");

move_uploaded_file($HTTP_POST_FILES['logoemisora']['tmp_name'], "logosradios/".$logoemisora);

}
}

if($nerror==1){
$nerror=0;
echo'<div id="contenedor"><div id="titulo">Registro Emisora Radio SL</div><br />
<form id="form1" name="form1" action="index.php" method="post" enctype="multipart/form-data">
<div id="divtextarea">
Logo Emisora:<br /><br />
<div id=salidalogoimagen></div>
<input id="inp0" type="file" name="logoemisora" onchange="showImage(this)"><br /><br /><br />
<div id=estadoerrores>- '.$error.' -</div>
</div>
<div id="datos">
Nombre y Apellido SL:<br />
<input id="inp1" type="text" name="nusuario" maxlength="25" /> <br />
Nombre Emisora:<br />
<input id="inp2" type="text" name="nemisora" maxlength="25" /> <br />
URL Emisora:<br />
<input id="inp3" type="text" name="urlemisora" maxlength="25" /> <br />
Web Emisora:<br />
<input id="inp4" type="text" name="webemisora" maxlength="25" /> <br />
<input id="inp8" type="submit" name="enviar" value=""/> <br />
</div>
</form>
</div> ';

}else{
echo'<script> parent.enviarvariable('.$idradio.'); </script><div id="contenedor"><div id="titulo">Registro Emisora Radio SL</div><br />
<div id="divtextarea">
Logo Emisora:<br /><br />
<div id=salidalogoimagen><img src="logosradios/'.$logoemisora.'" /></div>
<br /><br /><br />
<div id=estado>Estado Emisora: </div>
<div id=estado1></div>
</div>
<div id="datos">
Nombre y Apellido SL:<br /><b>'.$nusuario.'</b><br /><br />
Nombre Emisora:<br /><b>'.$nemisora.'</b><br /><br />
URL Emisora:<br /><b>'.$urlemisora.'</b><br /><br />
Web Emisora:<br /><b>'.$webemisora.'</b><br /><br /><br />
</div>
</div>';}
}else{
echo'<div id="contenedor"><div id="titulo">Registro Emisora Radio SL</div><br />
<form id="form1" name="form1" action="index.php" method="post" enctype="multipart/form-data">
<div id="divtextarea">
Logo Emisora:<br /><br />
<div id=salidalogoimagen></div>
<input id="inp0" type="file" name="logoemisora" onchange="VerImagen(this)"><br /><br /><br />
<div id=estadoerrores>- '.$error.' -</div>
</div>
<div id="datos">
Nombre y Apellido SL:<br />
<input id="inp1" type="text" name="nusuario" maxlength="25" /> <br />
Nombre Emisora:<br />
<input id="inp2" type="text" name="nemisora" maxlength="25" /> <br />
URL Emisora:<br />
<input id="inp3" type="text" name="urlemisora" maxlength="25" /> <br />
Web Emisora:<br />
<input id="inp4" type="text" name="webemisora" maxlength="25" /> <br />
<input id="inp8" type="submit" name="enviar" value=""/> <br />
</div>
</form>
</div> ';
}
?>
</body>
</html>



ajax.js :
--------------------

// JavaScript Document
function refreshdiv(idr){
var xmlHttp;
porcion="";
try{ xmlHttp=new XMLHttpRequest(); }
catch (e){
try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e){
try{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e){
alert("Tu explorador no soporta AJAX.");
return false;
}
}
}

var nocacheurl = "./comp_activ.php?idradio="+idr;

xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState== 4 && xmlHttp.readyState != null){

var porcion = xmlHttp.responseText.substring(0,3);

alert(porcion);

if(porcion == "KO"){ document.getElementById('estado1').innerHTML= "DESACTIVADO"; }
if(porcion == "OK"){ document.getElementById('estado1').innerHTML= "ACTIVADO"; }

porcion="";
setTimeout('refreshdiv('+idr+')',5*1000);
}
}
xmlHttp.open("GET",nocacheurl,true);
xmlHttp.send(null);
}


function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(err1) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (err2) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (err3) {
req = false;
}
}
}
return req;
}


var http = getXMLHTTPRequest(); // creo una instancia del objeto XMLHTTPRequest.

function enviarvariable(idr) { // funcion encargada de inviar la variable al archivo php llamado index.php.
var url = './comp_activ.php?idradio=' + idr; // creación de la URL.
http.open("GET", url, true); // fijando los parametros para el envío de datos.
http.onreadystatechange = handler; // Qué función utilizar en caso de que el estado de la petición cambie.
http.send(null); // enviar petición.
setTimeout('enviarvariable('+idr+')',5000);
}

function handler() {
if (http.readyState == 4) {
if(http.status == 200) {
alert(http.responseText); // El texto de respuesta del archivo index.php lo muestra como una alerta.
}
}
}


comp_activ.php :
--------------------------

<?
include('conexion.php');
$idradio=$_GET["idradio"];

$datos=mysql_query("SELECT * FROM radios WHERE idradio='$idradio' ");
if($dato=mysql_fetch_array($datos))
{
$activado = $dato["activado"];
if($activado==0){ echo"KO"; }
if($activado==1){ echo"OK"; }
}

?>


GRACIAS DE ANTEMANO !!!