Foros del Web » Estrategias Digitales y Negocios Online » Negocios »

Problemas con el valor del text input al procesar el .php

Estas en el tema de Problemas con el valor del text input al procesar el .php en el foro de Negocios en Foros del Web. Hola, que tal? Estoy teniendo problemas a la hora de procesar el valor del text input por medio de ajax. Estos son mis codigos: ajax.js ...
  #1 (permalink)  
Antiguo 19/08/2011, 16:29
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Problemas con el valor del text input al procesar el .php

Hola, que tal?

Estoy teniendo problemas a la hora de procesar el valor del text input por medio de ajax.

Estos son mis codigos:

ajax.js
Código:
function objetoAjax(){
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
		   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			xmlhttp = false;
  		}
	}

	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function MostrarConsulta(datos){
	divComentarios = document.getElementById('comentarios');
	ajax=objetoAjax();
	ajax.open("POST", datos);
	ajax.onreadystatechange=function() {
		if (ajax.readyState==4) {
			divComentarios.innerHTML = ajax.responseText
		}
	}
	ajax.send(null)
}
video.php:
Código 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=utf-8" /> 
<link href="estilo.css" rel="stylesheet" type="text/css" media="screen" /> 
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>

<?php  
// Aqui se conecta a la base de datos y hace las consultas necesarias 
    
(isset ($_GET['id']))? $id $_GET['id'] : $id NULL;       
        
session_start();  
    function 
conectarse($host,$usuario,$password,$BBDD){  
       
$link=mysql_connect($host,$usuario,$password) or die (mysql_error());  
       
mysql_select_db($BBDD,$link) or die (mysql_error());  
       return 
$link;  
    }  

$link=conectarse("host","usuario","password","base_datos");   

$video "SELECT * FROM `videos` WHERE `video_id` = '$id'"
$video mysql_query($video$link);  

$comentario "select comment_id, comment, nombre, apellido from video_comments, usuarios where video_comments. usuario_id = usuarios.usuario_id and video_id = '$id' order by 1 desc"
$comentario mysql_query($comentario$link);  

?>  
<title>Videos</title> 
</head> 
<div id="video"> 
        <?php  
          $rs
=mysql_fetch_array($video); 
            echo      
"<object style='height: 200px; width: 400px'>" 
                    
."<param name='movie' value='http://www.youtube.com/v/" .$rs['url']. "'>" 
                    
."<param name='allowFullScreen' value='true'>" 
                    
."<param name='allowScriptAccess' value='always'>" 
                    
."<embed src='http://www.youtube.com/v/" .$rs['url']. "' type='application/x-shockwave-flash' allowfullscreen='true' allowScriptAccess='always' width='640' height='390'>" 
                    
."</object>"
        
?> 
</div> 


<div id="comentarios"> 
    <?php 
        
while($rs=mysql_fetch_array($comentario))  
          {  
            echo         
"" .$rs['nombre']. " " .$rs['apellido']. ": " .$rs['comment']. "<br />"
          }  
    
?> 
</div> 


<div id="añadir_comentarios"> 
    <form name="consulta" action="" onsubmit="MostrarConsulta('anadir_comentario.php'); return false">
    <input type="text" name="comment" value="" />
    <input type="text" name="id" value="40" />
    <input type="submit" value="Add" />
    </form>
</div> 
</body> 
</html>
anadir_comentario.php:
Código PHP:
<?php 
session_start
();  

$con mysql_connect("host","usuario","password"); 

if (!
$con
  { 
  die(
'Could not connect: ' mysql_error()); 
  } 

mysql_select_db("base_datos"$con); 

$comentarios="INSERT INTO video_comments (comment_id, usuario_id, video_id, comment) 
VALUES 
('','$_SESSION[usuario]','$_POST[id]','$_POST[comment]')"


if (!
mysql_query($comentarios,$con)) 
  { 
  die(
'Error: ' mysql_error()); 
  } 

mysql_close($con); 

?>
A la hora de añadir el comentario con el anadir_comentario.php no reconoce los valores de $_POST[id] ni el de $_POST[comment], como hago para llamar a los valores de los text inputs del video.php desde el anadir_comentarios.php para que los reconozca?

Muchisimas gracias!
  #2 (permalink)  
Antiguo 19/08/2011, 17:24
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 13 años, 10 meses
Puntos: 11
Respuesta: Problemas con el valor del text input al procesar el .php

Hola morfasto.

No se si sera esto pero prueba a hacer lo siguiente:

Código PHP:
Ver original
  1. $id = $_POST['id'];
  2. $comment = $_POST['comment'];
  3. $usuario = $_SESSION['usuario'];
  4.  
  5.  
  6. $comentarios="INSERT INTO video_comments (comment_id, usuario_id, video_id, comment)
  7. VALUES
  8. ('','$usuario','$id','$comment')";

Espero que asi te funcione...saludos!!
  #3 (permalink)  
Antiguo 19/08/2011, 19:49
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: Problemas con el valor del text input al procesar el .php

Lo cambie asi como dijiste:

Código PHP:
<?php  
session_start
();   

$con mysql_connect("host","usuario","password");  

if (!
$con)  
  {  
  die(
'Could not connect: ' mysql_error());  
  }  
$id=$_POST['id'];
$comment=$_POST['comment'];
mysql_select_db("base_datos"$con);  

$comentarios="INSERT INTO video_comments (comment_id, usuario_id, video_id, comment)  
VALUES  
('','$_SESSION[usuario]','$id','$comment')"
;  

if (!
mysql_query($comentarios,$con))  
  {  
  die(
'Error: ' mysql_error());  
  }  

mysql_close($con);  

?>
Y no funciono, este es el error que me da:

Notice: Undefined index: id in C:\xampp\htdocs\anadir_comentario.php on line 10

Notice: Undefined index: comment in C:\xampp\htdocs\anadir_comentario.php on line 11

Alguna otra idea para solucionarlo?

Gracias!
  #4 (permalink)  
Antiguo 20/08/2011, 00:53
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problemas con el valor del text input al procesar el .php

Código Javascript:
Ver original
  1. ajax.open("POST", datos);

en que momento envias esas 2 variables que yo no veo? Lo único que le envias a la función MostrarConsulta es la url anadir_comentario.php pero por ningún lado le pasas variables. Tienes que concatenar las variables y los values a la variable datos. Sobre PHP te recomiendo que uses las comillas en las variables superglobales.

Código PHP:
Ver original
  1. $_SESSION[usuario]; //Incorrecto
  2. $_SESSION['usuario']; //Correcto
  3. $_POST[comment]; //Incorrecto
  4. $_POST['comment']; //Correcto
En el manual PHP detallan claramente porque usar comillas.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 20/08/2011 a las 01:19 Razón: Más información
  #5 (permalink)  
Antiguo 20/08/2011, 09:24
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: Problemas con el valor del text input al procesar el .php

De que manera concateno las variables y los values a la variable datos?

Gracias por lo de las comillas, se me habia pasado.

Gracias de nuevo, espero que me puedan ayudar!
  #6 (permalink)  
Antiguo 20/08/2011, 11:29
Avatar de morfasto  
Fecha de Ingreso: julio-2011
Ubicación: Lima
Mensajes: 291
Antigüedad: 12 años, 9 meses
Puntos: 8
Respuesta: Problemas con el valor del text input al procesar el .php

Ya solucione el problema con otro script que encontre, espero que les sirva:

[URL="http://www.daniweb.com/web-development/php/threads/178496"]www.daniweb.com[/URL]

Gracias a todos los que ayudaron!

Etiquetas: ajax, input, javascript, mysql, php, post, select, txt
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 18:39.