Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/11/2016, 17:11
neoanderson
 
Fecha de Ingreso: febrero-2014
Ubicación: Rosario
Mensajes: 59
Antigüedad: 10 años, 2 meses
Puntos: 2
Apache responde 500 internal server error en llamada de ajax a php.

Hola.
Les cuento mi problema.
Estoy terminando de hacer una página web de venta de productos por catálogo ,y escribí una función ajax para pedirle datos a una página php que lee archivos de texto y despliega el contenido.El servidor apache responde (lo comprobé con firebug firefox) 500 internal server error.
Estuve revisando mi página con referencias como w3schools,"mcgraw hill javascript reference",y otros foros más para saber donde está mi problema.Y no logro resolverlo.
Les giro a ustedes mi página y codigo php para que puedan revisarlo por si acaso el que mete la pata soy yo.
Por cierto,estoy usando ubuntu 14.04.1 lts.Tengo apache 2.4 y php 5.5.9.
Acá les dejo mi archivo index.html que es el que hace la llamada ajax (por si acaso el tarado soy yo):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width , initial-scale=1.0">
<title>Mi propio portfolio</title>
<link rel="shortcut icon" type="image/x-icon" href="img_cesped.ico" />
<link rel="stylesheet" type="text/css" href="hoja.css" media="screen" />
<link rel="stylesheet" type="text/css" href="hoja_index1.css" />
<script type="text/javascript" src="funciones.js">
</script>
<script type="text/javascript">
function linea(l) {
contenido = new XMLHttpRequest();
contenido.onreadystatechange = xmlhttp;
function xmlhttp() {
if(contenido.readyState == 4 && contenido.status == 200) {
var respuesta = contenido.responseText;
var patron = /[^\n]+\n/g;
var array_arch = respuesta.match(patron);
var titulo = array_arch[0];
if(array_arch[0].search(/-/) != -1) {
titulo = titulo.slice(0,titulo.search(/-/));
titulo += "<span>Nuevo!</span>";
}

document.getElementsByTagName("h3")[0].innerHTML = titulo;
var parrafo = array_arch[1];
document.getElementsByTagName("p")[0].innerHTML = parrafo;
var imagen = array_arch[2] + ".jpg";
document.getElementsByTagName("img")[1].src = "imgproductos/" + imagen;
document.getElementsByTagName("img")[1].alt = titulo;
document.getElementsByTagName("span")[0].innerHTML = "COD: " + array_arch[2];
document.getElementsByTagName("span")[1].innerHTML = array_arch[3];
}
}
if(l === "")
l = "quinua_y_amaranto";

contenido.open("GET","contenido.php?l="+l,true);
contenido.send(null);
}
window.onload=linea;
</script>
</head>
<body>
<div id="principal">
<div id="barra_menu">
<a href="#"><img src="reino_p.png" alt="Logo Reino"></a>
<ul id="menu">
<li><a href="#">Capilares</a></li>
<li><a href="#">Cuidado facial</a></li>
<li><a href="#">Cuidado corporal</a></li>
<li><a href="#">Reino beauty</a></li>
<li><a href="#">Fragancias</a></li>
<li><a href="#">Chicos</a></li>
<li><a href="#">Belleza interior</a></li>
</ul>
<ul><li><a href="iniciar_sesion.php">Iniciar sesi&oacute;n</a></li></ul>
<div class="clear"></div>
</div>
<div id="contenido_descripcion">
<div id="contenido">
<div class="producto">
<img src="" alt="">
<h3></h3>
<p></p>
<div class="clear"></div>
<div class="codigo_y_precio">
<span class="codigo"></span>&nbsp&nbsp
<span class="precio"></span>
</div>
<div class="carrito">
<a href="#">A&ntilde;adir al carrito</a>
<img src="carrito_p.png" alt="Carrito de compras">
</div>
</div>
</div>
<div id="descripcion">
</div>
</div>
<div id="panel">
<ul>
<li><a href="#" onclick="linea('quinua_y_amaranto')" >Nueva! Quinua + amaranto</a></li>
<li><a href="#" onclick="linea('jarilla_y_cafe')">Nuevo! Jarilla & Caf&eacute;</a></li>
<li><a href="#" onclick="linea('aceite_de_keratina')">Nuevo! Aceite de keratina</a></li>
<li><a href="#" onclick="linea('henna')">Henna</a></li>
<li><a href="#" onclick="linea('apimiel')">Apimiel</a></li>
<li><a href="#" onclick="linea('colageno_y_leche_de_coco')">Col&aa cute;geno y leche de coco</a></li>
<li><a href="#" onclick="linea('argan_y_macademia')">Arg&aacute;n y macademia</a></li>
<li><a href="#" onclick="linea('ortiga')">Ortiga</a></li>
<li><a href="#" onclick="linea('almendra')">Almendra</a></li>
</ul>
</div>
</div>
</body>
</html>

Acá les dejo el archivo contenido.php:
<?php
if(!isset($_REQUEST["l"])
$l="quinua_y_amaranto";
$l="quinua_y_amaranto";
echo "Directorio ".$l." abierto.";
?>

Acá también les dejo el error.log de mi apache:
[Wed Nov 23 19:36:32.361116 2016] [mpm_prefork:notice] [pid 1032] AH00163: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.20 configured -- resuming normal operations
[Wed Nov 23 19:36:32.361209 2016] [core:notice] [pid 1032] AH00094: Command line: '/usr/sbin/apache2'
[Wed Nov 23 19:59:25.638664 2016] [:error] [pid 1115] [client 127.0.0.1:45535] PHP Parse error: syntax error, unexpected '$linea' (T_VARIABLE) in /var/www/html/contenido.php on line 3, referer: http://localhost/
[Wed Nov 23 19:59:31.672387 2016] [:error] [pid 1116] [client 127.0.0.1:45536] PHP Parse error: syntax error, unexpected '$linea' (T_VARIABLE) in /var/www/html/contenido.php on line 3, referer: http://localhost/
[Wed Nov 23 20:07:34.425579 2016] [:error] [pid 1118] [client 127.0.0.1:45559] PHP Parse error: syntax error, unexpected '$l' (T_VARIABLE) in /var/www/html/contenido.php on line 3, referer: http://localhost/
[Wed Nov 23 20:08:24.185358 2016] [:error] [pid 2444] [client 127.0.0.1:45565] PHP Parse error: syntax error, unexpected '$l' (T_VARIABLE) in /var/www/html/contenido.php on line 3, referer: http://localhost/
[Wed Nov 23 20:09:36.524674 2016] [:error] [pid 1117] [client 127.0.0.1:45566] PHP Parse error: syntax error, unexpected '$l' (T_VARIABLE) in /var/www/html/contenido.php on line 3, referer: http://localhost/

Acá les dejo el access.log (por si lo necesitan,es la última línea .No iba a poner 600):
127.0.0.1 - - [23/Nov/2016:20:09:36 -0300] "GET /contenido.php?l=[object%20Event] HTTP/1.1" 500 206 "http://localhost/" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:38.0) Gecko/20100101 Firefox/38.0".

De nuevo,gracias por toda la ayuda que me puedan facilitar.