Foros del Web » Programando para Internet » PHP »

[NOVATO] intento de Chat

Estas en el tema de [NOVATO] intento de Chat en el foro de PHP en Foros del Web. Hola, estoy intentando hacer un chat en php (se que hay miles de echos por internet, pero esoty aprendiendo a programar y no es la ...
  #1 (permalink)  
Antiguo 21/03/2013, 11:37
 
Fecha de Ingreso: diciembre-2006
Mensajes: 8
Antigüedad: 17 años, 3 meses
Puntos: 0
[NOVATO] intento de Chat

Hola, estoy intentando hacer un chat en php (se que hay miles de echos por internet, pero esoty aprendiendo a programar y no es la idea...), he echo algunas cosas (muy) simples en c++ y ahora queria ver que tal es esto de php y no paro de darme problemas. Bueno pasemos al tema principal:

Tengo un archivo "index.php" que comprueva si estas logeado (tengo un BD en MYSQL con los usuarios, las conusltas (ya) no son un problema), si estas logeado te muestra el chat sino un formulario para que lo hagas.

la informacio de este formulario es enviada a login.php y este responde, o eso creo, correctamnete. el problema es que cuando vuelvo a inde.php me dice que no estoy logeado :S

os dejo el codigo aqui a ver si alguien me echa un cable.

MUCHAS GRACIAS DE ANTEMANO!!


index.php
Código PHP:
<!DOCTYPE html>
<html>
<body>

<? session_start(); ?>

    <? if(isset($_SESSION['id'])){ 
        
        
// AQUI DEBE IR EL CHAT EN SI
        
        
echo $_SESSION['id'];
        echo 
$_SESSION["usr"];
        
         
?><a href="logout.php"> logout </a>
    
     <?} else{ 
        
        
//ESTO ES EL FORMULARIO DE LOGEO
        
        
?><form action="login.php" method="post">
            Nom: <input type="text" name="nom">
            Password: <input type="text" name="pswd">
            <input type="submit">
            </form>
        </form><?
     

    
    
?>
</body>
</html>

login.php

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

    
$con=mysqli_connect ("localhost:3306","root",NULL,"xaat");
    if (
mysqli_connect_errno($con)){
        echo 
"Failed to connect to MySQL: " mysqli_connect_error();
    }
    
    
        

    if(isset(
$_POST['nom'])){
        
$sql="select count(*)  from user where usr_nom='$_POST[nom]'";
        
$result=mysqli_query($con,$sql);
        
$result=mysqli_fetch_array($result,MYSQLI_NUM);
        if(
$result[0]>0){

            
$sql="select usr_pswd from user where usr_nom = '$_POST[nom]'";
            
$result=mysqli_query($con,$sql);
            
$result=mysqli_fetch_array($result,MYSQLI_NUM);
            if(
$result[0]==$_POST['pswd']){

                
$sql="select usr_id from user where usr_nom = '$_POST[nom]'";
                
$result=mysqli_query($con,$sql);
                
$result=mysqli_fetch_array($result,MYSQLI_NUM);
                
$_SESSION['id']=$result[0];
                
$_SESSION['usr']=$_POST['nom'];
                echo 
$_SESSION['id'];
                echo 
$_SESSION['usr'];
                echo 
"uaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
                
//header('Location: index.html');
                
?> <a href="index.php"> aqui </a> <?php
            
}
        
        }
        
    }
     
     
?>
  #2 (permalink)  
Antiguo 21/03/2013, 11:42
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 6 meses
Puntos: 31
Respuesta: [NOVATO] intento de Chat

Código PHP:
Ver original
  1. <?php session_start(); ?>

Debe estar en la primera línea del index.php, cualquier cosa que se transmita al navegador lo invalida e incluso puede generar un error.

En tu caso estas enviando las etiquetas y un espacio:

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html>


Saludos
  #3 (permalink)  
Antiguo 21/03/2013, 11:55
 
Fecha de Ingreso: diciembre-2006
Mensajes: 8
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: [NOVATO] intento de Chat

vale, h echo el cambio que me sugieres, sigue sin funcionar. ademas hay alguna otra cosa que hago mal, pues el link de logout siempre es visible y solo deberia serlo si estas logeado.

alguna idea mas?

el codigo actual es este:

index.php

Código PHP:

<?php session_start(); ?>
    <? if(isset($_SESSION['id'])){ 
                
        echo 
$_SESSION['id'];
        echo 
$_SESSION["usr"];
        
        
?><a href="logout.php"> logout </a>
    
     <?} else{ ?>
        <form action="login.php" method="post">
            Nom: <input type="text" name="nom">
            Password: <input type="text" name="pswd">
            <input type="submit">
            </form>
        </form>
    <?}?>

Etiquetas: chat, formulario, html, intento, mysql, select, sql, usuarios
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 13:18.