Comunidad de diseño web y desarrollo en internet online

Experimento con php y MySQL

Citar            
MensajeEscrito el 24 Sep 2005 03:23 pm
Hol@ a tod@s,

He hecho una web donde se registran chic@s para hacer amigos, intercambio de msn y demás.
Existen dos secciones donde puedes ver un listado de nicks de chicas y otro de chicos, cuando pulsas sobre un nick se cargan los datos registrados por el usuario a la derecha (nombre, ciudad, pais, msn, ocupacion, edad, foto...)
Todo funcionaba a la perfección, el problema surgió, cuando se me ocurrió que la gente pudiera dejar mensajes a los usuarios registrados. Entonces decidí pensar un código para poder hacerlo, consistía en envíar una variable con la id del usuario seleccionado a una página php que creaba a su vez un archivo .txt donde se guardaba dicha id y de ahí se recogía la id para poder insertar el mensaje al usuario.
Todo bien, hasta que me dí cuenta que si hay otra persona navegando por la web, dicha id irá cambiando y al enviar el mensaje se guardará la id del ultimo usuario seleccionado.
Mi pregunta es: ¿Alguien sabe como podría solucionar el problema?
¿Conoceis algún otro sistema mas eficaz?

*Muchisimas gracias de antemano, no pretendo q me deis la solución solo guiarme un poquito, porq estoy Atascado :(

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 24 Sep 2005 04:25 pm
Err... txt para guardar informacion? Existen Bases de Datos... Y tambien existen las sessiones y cookies que guardarian la informacion en la makina del usuario por lo que no habria problemas al haber varias personas navegando

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 24 Sep 2005 04:44 pm
Gracias ICEM4N, conoces algún tutorial que me pueda servir, nunca he utilizado cookies.

Muchisimas gracias!!

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 24 Sep 2005 05:07 pm
Checate estos dos artículos...

http://www.miscodigos.com/JLMCodigos/articulo.php?id=5

http://www.maestrosdelweb.com/editorial/phpreusr/

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 24 Sep 2005 11:48 pm
He conseguido cargar el valor de id enviado desd flash a un cookie,

$_COOKIE['id'] = (isset($_POST['id'])?$_POST['id']:'0');
echo $_COOKIE['id'];

Pero no logro leer este cookie en otra pagina php :(

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 25 Sep 2005 12:03 am
la cookie solo la puedes leer con la misma pagina php que la generó, te recomiendo que uses mejor sessiones, es más USA SESSIONES xD

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

firefox
Citar            
MensajeEscrito el 25 Sep 2005 12:26 am
Ok MorphX,
Entonces lo acoplo en el mismo codigo donde quiero utilizar la id. Pero aqui no me lee el POST de la id, porq?

Código :

<?

   $DBhost = "localhost";  
   $DBuser = "..............";     
   $DBpass = "..................";           
   $DBName = "...................";           
   $table = ".......................";            
   $numComments = 1;
 
       
   $DBConn = mysql_connect($DBhost,$DBuser,$DBpass) or die("Error en la aplicación: " . mysql_error());
 
   mysql_select_db($DBName, $DBConn) or die("Error en la aplicación: " . mysql_error());

$action = $_GET['action'];
  
   switch($action) {
   
      case 'read' :
       $fp = fopen("orders.txt","r");

            if (!$fp)
            {
           echo '<p><strong>No orders pending.'
               .'Please try again later.</strong></p>';
           exit;
            } else {
               $id = fgets($fp);  } fclose($fp);
            
       $sql = "SELECT * FROM mensajes WHERE id = '$id'";
       $allComments = mysql_query($sql, $DBConn) or die("Error en la aplicación: " . mysql_error());
       $numallComments = mysql_num_rows($allComments);
   
       $sql .= ' ORDER BY `time` DESC LIMIT ' . $_GET['NumLow'] . ', ' . $numComments;
       $fewComments = mysql_query($sql, $DBConn) or die("Error en la aplicación: " . mysql_error());
       $numfewComments = mysql_num_rows($fewComments);

      
       print '&totalEntries=' . $numallComments . '&';
       print "<br>&entries=";   
       if($numallComments == 0) {
          print "No hay mensajes.";
       } else { 
          while ($array = mysql_fetch_array($fewComments)) {
         
            $nick = mysql_result($fewComments, $i, 'nick');
            $comentarios = mysql_result($fewComments, $i, 'comentarios');
            $time = mysql_result($fewComments, $i, 'time');
            
           print '<b>Nick: </b>' . $nick . '<br><br><b>Comentario: </b>' . $comentarios . '';
            $i++;
          }
      }

      if($_GET['NumLow'] > $numallComments) {
         print 'No hay mas mensajes!&';
      }
      break;
       
     case 'write' :
        $valor = $_POST['id'];
       setcookie("Cookieid", $valor);
       $id = $_COOKIE["Cookieid"];   
       $nick = ereg_replace("&", "%26", $_POST['nick']);
       $comentarios = ereg_replace("&", "%26", $_POST['comentarios']);
       $submit = $_POST['submit'];
       
       $submitted_on = date ("Y-m-d H:i:s",time());
              

       if($submit == 'Yes'){

       $sql = 'INSERT INTO ' . $table . 
                ' (`id_comentario`,
                `id`, 
               `nick`, 
               `comentarios`, 
               `time`
              ) 
              VALUES 
              (\'\','
              . '\'' . $id . '\','
               . '\'' . $nick . '\',' 
               . '\'' . $comentarios . '\',' 
               . '\'' . $submitted_on . '\'
               )';
           $insert = mysql_query($sql, $DBConn) or die("Error en la aplicación: " . mysql_error());
       
       print "&gb_status=Gracias por el mensaje!!.&done=yes&";
       return;
       }
       print "&_root.write.gb_status=default!&";
       break;
   }

?>


[moderador]Editado para agregar las etiquetas code [/moderador]

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 25 Sep 2005 03:02 pm
y de donde provienen los datos de ese $_POST???

para que haces esto?

Código :

       $valor = $_POST['id']; 
       setcookie("Cookieid", $valor); 
       $id = $_COOKIE["Cookieid"];


Leete algun tutorial sobre session's y veras como es más simple y robusto que eso.

Al inicio de cada página has de poner session_start(); y con eso CREAS o CONTINUAS una session. Luego declara variables y leelas de la session con: $_SESSION['nombrevariable']=valor;

Espero que te sirva :)

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

msie
Citar            
MensajeEscrito el 26 Sep 2005 12:40 pm
Gracias de nuevo MorphX, estoy en ello ;)

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.