Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/08/2008, 10:45
Avatar de granbosteron
granbosteron
 
Fecha de Ingreso: agosto-2004
Mensajes: 164
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: Problema con php y mysql

Agrego mas informacion sobre este caso:

El codigo en donde parece ser que arroja el error de "internal server error", es en una convinacion de javascript y php. Para ser mas especifico, copio los 2 script que al quitarlos, parece que funciona bien la pagina:

Código HTML:
<SCRIPT type="text/javascript">
var swidth=165;
var sheight=110;
var sbcolor="#ccffcc";

//scroller's speed: change to your own;
var sspeed=2;
var restart=sspeed;
rspeed=sspeed;

//text: change to your own
wholemessage='';
wholemessage+='<div align="center" class=tabb>';
<?
#SELECT NOTICIAS TAPA
$res=query("
SELECT DISTINCT(n.news_id), nd.news_title 
 
FROM news n   
INNER JOIN news_type nt ON n.news_id=nt.news_id AND nt.news_type_id='2'  
LEFT JOIN news_description nd ON n.news_id=nd.news_id AND nd.languages_id='1' 

WHERE 
n.status_id='1'   

GROUP BY n.news_id 
ORDER BY n.date_added DESC
"); 

while(list($news_left_id, $news_title, )=fetch($res)){
  echo "wholemessage+='<a class=tabb href=\"".URL_BASE."nota.php?news_id=".$news_left_id."\">$news_title</a><br><br>';";
}
?>
wholemessage+='</div>';

function goup(){
  if(sspeed!=rspeed*8){
     sspeed=sspeed*2;restart=sspeed;
  }
}
function godown(){
  if(sspeed>rspeed){
     sspeed=sspeed/2;restart=sspeed;
  }
}
function start_scroller(){
  if(document.getElementById)
     ns6marquee(document.getElementById('slider'));
  else if(document.all)
     iemarquee(slider);
  else if(document.layers)
     ns4marquee(document.slider1.document.slider2);
}
function iemarquee(whichdiv){
  iediv=eval(whichdiv);
  iediv.style.pixelTop=sheight+"px";
  iediv.innerHTML=wholemessage;
  sizeup=iediv.offsetHeight;
  ieslide();
}
function ieslide(){
  if(iediv.style.pixelTop>=sizeup*(-1)){
     iediv.style.pixelTop-=sspeed+"px";
	 setTimeout("ieslide()",100);
  }else{
     iediv.style.pixelTop=sheight+"px";
	 ieslide();
  }
}
function ns4marquee(whichlayer){
  ns4layer=eval(whichlayer);
  ns4layer.top=sheight;
  ns4layer.document.write(wholemessage);
  ns4layer.document.close();
  sizeup=ns4layer.document.height;
  ns4slide();
}
function ns4slide(){
  if(ns4layer.top>=sizeup*(-1)){
     ns4layer.top-=sspeed;
	 setTimeout("ns4slide()",100);
  }else{
     ns4layer.top=sheight;ns4slide();
  }
}
function ns6marquee(whichdiv){
  ns6div=eval(whichdiv);
  ns6div.style.top=sheight+"px";
  ns6div.innerHTML=wholemessage;
  sizeup=ns6div.offsetHeight;ns6slide();
}
function ns6slide(){
  if(parseInt(ns6div.style.top)>=sizeup*(-1)){
     ns6div.style.top=parseInt(ns6div.style.top)-sspeed+"px";
	 setTimeout("ns6slide()",100);
  }else{
     ns6div.style.top=sheight+"px";
	 ns6slide();
  }
}
</script> 

Código HTML:
<SCRIPT type="text/javascript">
var banners = new Array();

<?
#SELECT BANNER SPONSORS
$i=0;
$res=query("
SELECT DISTINCT(b.banner_id), b.image1_1 
 
FROM banner b    
WHERE 
b.status_id='1' 
AND b.banner_type_id='4' 

ORDER BY b.date_added DESC
"); 

while(list($banner_id, $image1_1)=fetch($res)){
  $banner_type=getimagesize(IMG_BANNER.$image1_1);
  if(($banner_type[2]!=4)){
    $banner_return=BannerLink($banner_id);
    echo "banners[$i]= new Array('".$banner_return[0]."','".$banner_return[1]."','".$banner_return[2]."');";
    $i++;
  }
}
?>

var tiempo = 3000; // cuenta en milisegundos por lo tanto cambia cada 3 segundos.
var numero_banner = 0; //almacenará el número del banner que se mostrará, este es su valor inicial.

function rotabanner(numero_banner){
 var anuncio = "";
 anuncio = "<a href='"+banners[numero_banner][0]+"' target='"+banners[numero_banner][1]+"'>";
 anuncio += "<img src='"+banners[numero_banner][2]+"' border='0'></a>";
 document.getElementById('lugar_anuncio').innerHTML = anuncio;
}

function cambia_numero_banner(){
 numero_banner++;
 if (numero_banner >= banners.length) numero_banner= 0;
 rotabanner(numero_banner);
 setTimeout("cambia_numero_banner()", tiempo);
}
</script> 
Los 2 scripts son incluidos al index en forma de:
Código PHP:
<? require('include/scrip_correspondiente.php');?>
los inluyo de esta manera para poder escribir en el javascript por medio de php y una consulta mysql.


Las consultas funcionan bien, las eh probado fuera del javascript y en el phpMyAdmin.

Como explique en los primeros mensajes. El sitio me funciona bien en un servidor y en el de "elserver.com" no funciona. La diferencia que encontre en el phpinfo de cada uno, luego de haber investigado en casos en los que el gran Cluster explico, es que en el servidor donde funciona bien el "server API" esta configurado como Apache Handler y en el que no funciona "elserver.com" esta el "server API" configurado como "CGI".

Que diferencias hay entre uno y el otro? el CGI es mas lento? y por eso me arroja ese error ? Hago esta ultima pregunta porque en horas de la madrugada donde hay menos trafico, la pagina funciona lenta pero funciona. Luego cuando el servidor parece que empieza a tener mas trafico aparece el error en cuestion.

Otra pregunta seria, si hay problema en la convinacion que hago entre javascript y php, creo que no es un problema, lo eh usado en otros sitios. Pero puede ser conflictivo esto tambien?

Estoy desorientado con este error. Espero que esto que agregue puede ayudarles a entender mas el problema y tirarme una ayudita.

Gracias
__________________
Saludos :adios: :adios: :adios: