Bienvenido, Invitado
Nombre de Usuario: Contraseña: Recordarme

TEMA: De javascript a php?

De javascript a php? 9 años 2 meses ago #16893

  • enig
  • Avatar de enig
  • Offline
  • Ayudante
  • Mensajes: 145
  • Gracias recibidas 6
  • Karma: 5
Bueno les queria preguntar respecto a esto como haria para obtener una consulta de una funcion php que me llegue al javascript

Como se podran dar cuenta en el javascript se obtiene el valor del nombre de una sala de chat y luego invoca la funcion php $.post("chatrooms.php?action=createchatroom", {name: name}...

donde va al php y registra en la Base de datos la nueva sala luego regresa al javascript y muestra el nombre en el <span class="cometchat_userscontentname"> '+name+'

lo que busco es que el nombre no sea ingresado por pantalla si no que sea generado desde el php para que luego lo tome el javascript y lo muestre, en este caso sea el nombre de los usuarios conectados.

Nota: $userid obtine el id del usuario conectado

de igual manera se puede obtener mediante el valor de inicio de session
asi.
www.jonijnm.es/web/foro/629-cafeteria/16873-joomsocial-utiliza-variables-de-session.html
(gracias joni)

javascript-
function createChatroom(){
  var name = prompt("Ingresa el nombre de la Sala de Chat", "");
	if (name != '' && name != null) {
		name = name.replace(/^\s+|\s+$/g,"");
		$.post("chatrooms.php?action=createchatroom", {name: name} , function(data){				
 
	if (data) {
$("#cometchat_userlist_"+currentroom).removeClass("cometchat_chatroomselected");
	if (name.length > 14) {
		name = name.substr(0,14)+'...';
$("#chatrooms").append('<div id="cometchat_userlist_'+data+'" class="cometchat_userlist cometchat_chatroomselected" onmouseover="jQuery(this).addClass(\'cometchat_userlist_hover\');" onmouseout="jQuery(this).removeClass(\'cometchat_userlist_hover\');" onclick="javascript:chatroom(\''+data+'\');" ><span class="cometchat_userscontentname">'+name+' (1)</span></div>');
		currentroom = data;
		timestamp = 0;
		replaceHtml("cometchat_tabcontenttext",'<div></div>');
					clearTimeout(heartbeatTimer);
					chatHeartbeat();	
				}
 
			});
		}
 


php
function createchatroom() {
	global $userid;
	$name = $_POST['name'];
 
	if ($userid != '') {
	$time = getTimeStamp();
	$sql = ("insert into cometchat_chatrooms (name,createdby,lastactivity) values ('".mysql_real_escape_string(sanitize($name))."', '".mysql_real_escape_string($userid)."','".getTimeStamp()."')");
	$query = mysql_query($sql);
	$currentroom = mysql_insert_id();
//mysql_insert_id() devuelve el identificador generado para un campo de tipo AUTO_INCREMENTED. Se devolverá el identificador generado por el último INSERT.
	$sql = ("insert into cometchat_chatrooms_users (userid,chatroomid,lastactivity) values ('".mysql_real_escape_string($userid)."','".mysql_real_escape_string($currentroom)."','".mysql_real_escape_string($time)."') on duplicate key update chatroomid = '".mysql_real_escape_string($currentroom)."', lastactivity = '".mysql_real_escape_string($time)."'");
	$query = mysql_query($sql);
 
	echo $currentroom;
	exit(0);
}
 
Última Edición: 9 años 2 meses ago por enig.
El administrador ha desactivado la escritura pública.

Re: De javascript a php? 9 años 2 meses ago #16920

  • JoniJnm
  • Avatar de JoniJnm
  • Offline
  • Administrador
  • Mensajes: 4579
  • Gracias recibidas 544
  • Karma: 160
va al php y registra en la Base de datos la nueva sala luego regresa al javascript y muestra el nombre en el <span class="cometchat_userscontentname"> '+name+'

lo que busco es que el nombre no sea ingresado por pantalla si no que sea generado desde el php para que luego lo tome el javascript y lo muestre
No me entero de qué es lo que pides. Que se muestre o que no se muestre? xD
El administrador ha desactivado la escritura pública.

Re: De javascript a php? 9 años 2 meses ago #16938

  • enig
  • Avatar de enig
  • Offline
  • Ayudante
  • Mensajes: 145
  • Gracias recibidas 6
  • Karma: 5
Que se muestre pero no un nombre ingresado por pantalla si no que muestre los nombres de los usuarios que estan conectados en ese momento...
Última Edición: 9 años 2 meses ago por enig.
El administrador ha desactivado la escritura pública.

Re: De javascript a php? 9 años 2 meses ago #16939

  • enig
  • Avatar de enig
  • Offline
  • Ayudante
  • Mensajes: 145
  • Gracias recibidas 6
  • Karma: 5
algo asi, pero no se como implementarlo
 <?php 
include("conexion.php");
 
if (isset($_SESSION['usuario'])) 
{ #If the user is logged in, good for the, if not, they become an ip address 
	$query_user = "SELECT nombre_usuario, id_usuario FROM usuario WHERE id_usuario='$_SESSION[usuario]'";
	$result_user = mysql_query($query_user); #Execute query 
	$row_user = mysql_fetch_array($result_user);  
	$username = $row_user['nombre_usuario'];
	$userid = $row_user['id_usuario'];
} 
else 
{ 
	$username = $_SERVER['REMOTE_ADDR']; #Username is IP Address 
} 
 
	do 
	{ #Do this 
		$ui = $row_online['userid'];
		$query2 = "SELECT foto_usuario FROM usuario WHERE id_usuario = $ui"; #Check and see who is online in the last 2 minutes 
		$result = mysql_query($query2); #Execute query 
		$row_foto = mysql_fetch_assoc($result);
 
		$foto = $row_foto['foto_usuario'];
 
echo "<table>";
echo "<tr>";
echo "<td>";
echo "<img src=".$foto." width='45' align='left' vspace='2' hspace='2' />";
echo "<br>";
 
echo "</td>";
echo "<td>";
echo "<font style='font-family:Verdana, Arial, Helvetica, sans-serif; size:9px;'><a href='verperfil.php?id=".$row_online['userid']."'  target='_top'>".$row_online['username']."</a></font><br>"; #Output username 
echo "<br>";
echo "</td>";
echo "</tr>";
echo "</table>";
 
} 
 
Última Edición: 9 años 2 meses ago por enig.
El administrador ha desactivado la escritura pública.

Re: De javascript a php? 9 años 2 meses ago #16955

  • JoniJnm
  • Avatar de JoniJnm
  • Offline
  • Administrador
  • Mensajes: 4579
  • Gracias recibidas 544
  • Karma: 160
No te vale con coger los usuarios que están en jos_sessions? O es que no tienen el mismo id que en el chat ese que usas?
El administrador ha desactivado la escritura pública.

Re: De javascript a php? 9 años 2 meses ago #16964

  • enig
  • Avatar de enig
  • Offline
  • Ayudante
  • Mensajes: 145
  • Gracias recibidas 6
  • Karma: 5
si lo tienen pero no se como incluirle esto de una manera similar a como lo hace el comechat basicamente el problema es al mostrarlo desde el javascript como el lo hace.

Sin embargo gracias por tu opinion
El administrador ha desactivado la escritura pública.

Re: De javascript a php? 9 años 1 mes ago #16989

  • JoniJnm
  • Avatar de JoniJnm
  • Offline
  • Administrador
  • Mensajes: 4579
  • Gracias recibidas 544
  • Karma: 160
Pero y tienes que mostrarlo cuando se cree un canal? Eso no tiene mucho sentido, no? Debería ser en el logeo al chat, por ejemplo cada minuto comprobar las sesiones. Por lo que se ve en el código, sería algo como:
setInterval(function(){
    $.post("chatrooms.php?action=mostrar_sesiones", {} , function(data){
        document.getElementById('div_de_las_sesiones').innerHTML = data;
    });
}, 1000);
O estoy perdido y no sé lo que digo?
Última Edición: 9 años 1 mes ago por JoniJnm.
El administrador ha desactivado la escritura pública.
Tiempo de carga de la página: 0.143 segundos