Foros del Web » Programando para Internet » PHP »

dudas para usar start_session();

Estas en el tema de dudas para usar start_session(); en el foro de PHP en Foros del Web. Hola amigos aqui molestando de nuevo Explico mi problema: Estoy haciendo una web administrador para que esto sea completo en la parte donde el administrador ...
  #1 (permalink)  
Antiguo 25/06/2010, 09:58
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
dudas para usar start_session();

Hola amigos aqui molestando de nuevo

Explico mi problema:

Estoy haciendo una web administrador para que esto sea completo en la parte donde el administrador ve los datos de los usuarios debe tener la opcion de actualizarlos si es necesario entonces lo que hago mostrar un formulario en la misma pantalla y asi el administrador inmediatamente lo pueda hacer.

mi problema es que debo guardar el valor con el cual abro el registro del usuario y enviarlo a un script para actualizar el registro y refrescar la pagina donde se muestran los datos de usuario.

El problema es que estoy tratando de usar session_start() pero no me guarda el valor y por lo tanto no me actualiza los datos.

a continuacion los scripts que uso:

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>



<table>

<tr>
<td><?php echo "Iduser";?></td>
<td><?php echo "userna";?></td>
<td><?php echo "Password";?></td>
<td><?php echo "Nombre";?></td>
<td><?php echo "Apellido";?></td>

<td><?php echo "Direccion";?></td>
<td><?php echo "Mail";?></td>
<td><?php echo "Ciudad";?></td>
<td><?php echo "Pais";?></td>

<td><?php echo "Fecha";?></td>


</tr>

<?php
session_start();

$db="midbase";
$host="localhost";
$user="usuario";
$pass="password";

$con = mysql_pconnect($host,$user,$pass);

mysql_select_db($db, $con);

$username=$_POST["username"];






$query="SELECT iduser,userna,pass,nombre,apellido,direccion,mail, ciudad,pais,fecha_notif FROM usuario WHERE username='".$username."'";







$result=mysql_query($query) or die(mysql_error());



while($row = mysql_fetch_assoc($result))
{

?>
<tr>
<td><?php echo $row['iduser'];?></td>
<td><?php echo $row['userna'];?></td>
<td><?php echo $row['pass'];?></td>
<td><?php echo $row['nombre'];?></td>
<td><?php echo $row['apellido'];?></td>

<td><?php echo $row['direccion'];?></td>
<td><?php echo $row['mail'];?></td>
<td><?php echo $row['ciudad'];?></td>
<td><?php echo $row['pais'];?></td>
<td><?php echo $row['fecha_notif'];?></td>

<?php } ?>

</tr>
</table>

</br>
</br>
</br>
</br>

<table>
<form action="actualizar.php" method="post">
<tr>

<td align="left"> <div align="center"><em><strong>Actualizar Usuario</strong> </em></div></td>
</tr>
<tr>
<td>Nick del usuario</td>
<td><input type="text" name="userna"></td>
</tr>
<tr>
<td>Ingrese la contraseña</td>
<td><input type="text" name="pass"></td>
</tr>
<tr>
<td>Ingrese el nombre del usuario</td>
<td><input type="text" name="nombre"></td>
</tr>
<tr>
<td>Ingrese el apellido</td>
<td><input type="text" name="apellido"></td>
</tr>
<tr>


</tr>
<tr>
<td>Ingrese la direccion</td>
<td><input type="text" name="direc"></td>
</tr>
<tr>
<td>Ingrese el numero de documento</td>
<td><input type="text" name="dni"></td>
</tr>
<tr>
<td>Ingrese el rol</td>
<td><input type="text" name="rol"></td>
</tr>
<tr>

</tr>
<tr>
<td>E-mail</td>
<td><input type="text" name="Email"></td>
</tr>
<tr>

</tr>
<tr>
<td>Ciudad</td>
<td><input type="text" name="ciudad"></td>
</tr>
<tr>
</tr>
<tr>
<td>Pais</td>
<td><input type="text" name="pais"></td>
</tr>
<tr>


<td><div align="center">
<input type="submit" name="action" value="actualizar" size="4">
</div></td>
</tr>
</form>


</table>





</body>
</html>

En este se muestran los datos y un formulario que voy a usar para hacer actualizaciones en la base de datos.


<?php




$db="midbase";
$host="localhost";
$user="usuario";
$pass="password";

$con = mysql_pconnect($host,$user,$pass);
mysql_select_db($db, $con);

// Si entramos es que todo se ha realizado correctamente


$now = date("Y-m-d H:i:s");


$sql="UPDATE usuario SET nombre='".$_POST[nombre]."', apellido='".$_POST[apellido]."', dni='".$_POST[dni]."', rol='".$_POST[rol]."', mail='".$_POST[Email]."',ciudad='".$_POST[ciudad]."',pais='".$_POST[pais]."', fecha_notif='$now' WHERE username= '".$_SESSION[username]."'";
// Con esta sentencia SQL insertaremos los datos en la base de datos


// Ahora comprobaremos que todo ha ido correctamente


mysql_query($sql, $con) or die ("No se pudo conectar con la base de datos");



echo " Datos Actualizados";


?>


Este es el script para enviar actualizar los datos y quiero hacer un refresh para mostrar el registro con los datos nuevos.

pero no lo hace, me pueden ayudar no me vendria mal un apoyo por favor

saludos............................
  #2 (permalink)  
Antiguo 25/06/2010, 10:06
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: dudas para usar start_session();

no te entiendo :/ y tampoco el código, parece incompleto para lo que parecer ser que es
  #3 (permalink)  
Antiguo 25/06/2010, 10:17
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: dudas para usar start_session();

Antes que nada debes poner session_start() al comienzo del script.

Código PHP:

<?php
session_start
()
?>

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

//etc...
Luego no te guarda los valores porque a $_SESSION[username] no le das valor en ninguna parte:

Se supone que contenga el nombre de usuario, pues hazlo asi:

Código PHP:

//aqui das valor, pero no a $_SESSION['username']
$username=$_POST["username"];

//daselo asi:
$_SESSION['username']=$_POST["username"];

//o haz asi, ya en la consulta:
... WHERE username'".$_POST["username"]."'"; 
  #4 (permalink)  
Antiguo 25/06/2010, 11:09
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: dudas para usar start_session();

Hola LordRadium, te recomiendo uses las etiquetas de [CODE], [HTML] Y [PHP] para que se vea mejor tu código y entendamos un poco más el problema.

Por lo poco que se de php, al momento de uar $_POST, debes ahcerlo así:
Código PHP:
$_POST['username']; 
ya que si usas comillas ("), envía error o no envía nada la acción que estés aplicando con ese post, bueno yo así lo he usado y no ha habido problemas.

Coincido con wiwi, al usar sesiones siempre no importando si tu en tu código combinas html con php, debes poner al inicio:
Código PHP:
session_start(); 
Puedes ir combinando html y php, o hacerlo con puro php así:
Código PHP:
<?php
    session_start
();

$db="midbase";
$host="localhost";
$user="usuario";
$pass="password";

$con mysql_pconnect($host,$user,$pass);

mysql_select_db($db$con);

$_SESSION['username']=$_POST['username'];
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>



<table>

<tr>
<td><?php echo "Iduser";?></td>
<td><?php echo "userna";?></td>
<td><?php echo "Password";?></td>
<td><?php echo "Nombre";?></td>
<td><?php echo "Apellido";?></td>

<td><?php echo "Direccion";?></td>
<td><?php echo "Mail";?></td>
<td><?php echo "Ciudad";?></td>
<td><?php echo "Pais";?></td>

<td><?php echo "Fecha";?></td>


</tr>

<?
$query
="SELECT iduser,userna,pass,nombre,apellido,direccion,mail, ciudad,pais,fecha_notif FROM usuario WHERE username='".$username."'";

$result=mysql_query($query) or die(mysql_error());

while(
$row mysql_fetch_assoc($result))
{

?>
<tr>
<td><?php echo $row['iduser'];?></td>
<td><?php echo $row['userna'];?></td>
<td><?php echo $row['pass'];?></td>
<td><?php echo $row['nombre'];?></td>
<td><?php echo $row['apellido'];?></td>

<td><?php echo $row['direccion'];?></td>
<td><?php echo $row['mail'];?></td>
<td><?php echo $row['ciudad'];?></td>
<td><?php echo $row['pais'];?></td>
<td><?php echo $row['fecha_notif'];?></td>

<?php ?>

</tr>
</table>
Por decirte algo, espero se solucione tu problema. :)
  #5 (permalink)  
Antiguo 25/06/2010, 11:29
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: dudas para usar start_session();

Lo hago asi pero me manda el siguiente mensaje:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/oscarin/public_html/administrador/agregar/index.php:5) in /home/oscarin/public_html/administrador/agregar/index.php on line 6

para ser mas especifico el valor lo capturo desde este script donde guardo el username y lo mando a la pagina donde me muestra los datos del usuario y hasta donde muestra los datos va bien pero no me hace lo demas y me muestra el mensaje anterior.


<?php
session_start()
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>

<a href="agregarusuario.php#">Agregar Usuario</a>


<form action="ver_datos_usuario.php" method="post">
<label for="username">usuario usuario</label>
<input type="text" name="username">


</form>




<?php
// put your code here
?>
</body>
</html>

  #6 (permalink)  
Antiguo 25/06/2010, 11:45
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: dudas para usar start_session();

O sea que es un sólo script, y se llama así mismo para llenar la variable de la sesión???

Entonces en el primer script, pon primero todo el código php y luego el html.
y en el segundo pon:
Código PHP:
<?php
session_start
();

$db="midbase";
$host="localhost";
$user="usuario";
$pass="password";

$con mysql_pconnect($host,$user,$pass);
mysql_select_db($db$con);

// Si entramos es que todo se ha realizado correctamente


$now date("Y-m-d H:i:s");


$sql="UPDATE usuario SET nombre='".$_POST[nombre]."', apellido='".$_POST[apellido]."', dni='".$_POST[dni]."', rol='".$_POST[rol]."', mail='".$_POST[Email]."',ciudad='".$_POST[ciudad]."',pais='".$_POST[pais]."', fecha_notif='$now' WHERE username= '".$_SESSION[username]."'";
// Con esta sentencia SQL insertaremos los datos en la base de datos


// Ahora comprobaremos que todo ha ido correctamente


mysql_query($sql$con) or die ("No se pudo conectar con la base de datos");



echo 
" Datos Actualizados";


?>
Ja ya no le entiendo xD
  #7 (permalink)  
Antiguo 25/06/2010, 12:14
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: dudas para usar start_session();

Jajajaja, si no me explique bien dime, pero voy a intentarlo como me dices

  #8 (permalink)  
Antiguo 25/06/2010, 12:23
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: dudas para usar start_session();

Que editor usas...?
Quiza ese editor te inserta alguna caracter o formato que da error...

Este es el que te daba error, bueno lo pegue en el blok de notas y guarde como php y no dio error.

Pegalo en el block de notas y guardalo con el nombre que desees asi:

"nombre.php" ponlo entre comillas dobles; esto le dira al block de notas 'todos los archivos'.

Y prueba a ver que pasa.

Código PHP:
<?php
session_start
();
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>

<a href="agregarusuario.php#">Agregar Usuario</a>


<form action="ver_datos_usuario.php" method="post">
<label for="username">usuario usuario</label>
<input type="text" name="username">


</form>




<?php
// put your code here
?>
</body>
Cita:
En algunas ocasiones el error puede aparecer porque la configuración de PHP en el servidor tiene activa (en On) la directiva display_errors

Al apagar (poner en Off) la directiva display_errors, el error puede desaparecer. Esta directiva se puede modificar mediante un archivo .htaccess o php.ini. Mediante .htaccess, se puede hacer poniendo una línea de este modo:

php_value display_errors "Off"

Ante alguna duda, lo más recomendable es pedir asistencia al proveedor de hosting o a la persona encargada de la administración del servidor o cuenta de hosting.
  #9 (permalink)  
Antiguo 25/06/2010, 12:24
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: dudas para usar start_session();

Uso 3 scripts en el 1ero guardo el valor y lo mando a la pagina donde se muestran los valores ahi lo que pretendo es usar el mismo valor username para que sea utilizado en otro script llamado actualizar.php donde esta mi codigo para actualizar por medio de un formulario, para eso debe ser global a fuerza.

gracias por tu ayuda...................
  #10 (permalink)  
Antiguo 25/06/2010, 12:34
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: dudas para usar start_session();

Cita:
Iniciado por LordRadium Ver Mensaje
Jajajaja, si no me explique bien dime, pero voy a intentarlo como me dices

xD Mejor pon por ejemplo:

Script1.php:
Código PHP:
//código 
Script2.php
Código PHP:
//codigo 
y cual se sirve de cual, o como interactúan entre si.

A ver si no nos regañan por andar spammeando xD
  #11 (permalink)  
Antiguo 25/06/2010, 15:59
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: dudas para usar start_session();

Va de nuez

el 1er script guarda el valor por medio de un form

Código PHP:
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<?php
session_start
();
?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>

        <a href="agregarusuario.php#">Agregar Usuario</a>
         

 <form action="ver_datos_usuario.php" method="post">
            <label for="username">Username</label>
        <input type="text" name="Username">
               

        </form>




        <?php
        
// put your code here
        
?>
    </body>
</html>
de ahi llevo el valor username a otra pantalla de la misma web que se llama mostrar_datos_usuarios

En esta pantalla muestro los registros del usuario seleccionado y en ese mismo lugar trato con otro form trato de actualizar los datos del usuario claro si es necesario.
Cita:
<?php
session_start();
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>



<table>

<tr>
<td><?php echo "Iduser";?></td>
<td><?php echo "userna";?></td>
<td><?php echo "Password";?></td>
<td><?php echo "Nombre";?></td>
<td><?php echo "Apellido";?></td>

<td><?php echo "Direccion";?></td>
<td><?php echo "Mail";?></td>
<td><?php echo "Ciudad";?></td>
<td><?php echo "Pais";?></td>

<td><?php echo "Fecha";?></td>


</tr>

<?php

$db="midbase";
$host="localhost";
$user="usuario";
$pass="password";

$con = mysql_pconnect($host,$user,$pass);

mysql_select_db($db, $con);

$username=$_POST["username"];






$query="SELECT iduser,userna,pass,nombre,apellido,,direccion,mail ,ciudad,pais,fecha_notif FROM usuario WHERE userna='".$username."'";







$result=mysql_query($query) or die(mysql_error());



while($row = mysql_fetch_assoc($result))
{

?>
<tr>
<td><?php echo $row['iduser'];?></td>
<td><?php echo $row['username'];?></td>
<td><?php echo $row['pass'];?></td>
<td><?php echo $row['nombre'];?></td>
<td><?php echo $row['apellido'];?></td>

<td><?php echo $row['direccion'];?></td>
<td><?php echo $row['mail'];?></td>
<td><?php echo $row['ciudad'];?></td>
<td><?php echo $row['pais'];?></td>
<td><?php echo $row['fecha_notif'];?></td>

<?php } ?>

</tr>
</table>

</br>
</br>
</br>
</br>

<table>
<form action="actualizar.php" method="post">
<tr>

<td align="left"> <div align="center"><em><strong>Actualizar Usuario</strong> </em></div></td>
</tr>
<tr>
<td>Nick del usuario</td>
<td><input type="text" name="userna"></td>
</tr>
<tr>
<td>Ingrese la contraseña</td>
<td><input type="text" name="pass"></td>
</tr>
<tr>
<td>Ingrese el nombre del usuario</td>
<td><input type="text" name="nombre"></td>
</tr>
<tr>
<td>Ingrese el apellido</td>
<td><input type="text" name="apellido"></td>
</tr>
<tr>

<tr>
<td>Ingrese la direccion</td>
<td><input type="text" name="direc"></td>
</tr>
<tr>
<td>Ingrese el numero de documento</td>
<td><input type="text" name="dni"></td>
</tr>
<tr>
<td>Ingrese el rol</td>
<td><input type="text" name="rol"></td>
</tr>
<tr>

</tr>
<tr>
<td>E-mail</td>
<td><input type="text" name="Email"></td>
</tr>
<tr>

</tr>
<tr>
<td>Ciudad</td>
<td><input type="text" name="ciudad"></td>
</tr>
<tr>
</tr>
<tr>
<td>Pais</td>
<td><input type="text" name="pais"></td>
</tr>
<tr>


<td><div align="center">
<input type="submit" name="action" value="actualizar" size="4">
</div></td>
</tr>
</form>


</table>





</body>
</html>
Despues con el mismo valor username quiero hacer el query a la misma tabla usuarios al usuario en cuestion y hacer modificaciones en el registro del mismo para hacerlo cree un script llamado actualizar

Donde despues de hacer su proceso va a refrescar en la pagina mostrar_datos_usuario y mostrara los datos actualizados del usuario.

Código PHP:
<?php


    
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
   

        
$db="midabse";
$host="localhost";
$user="usuario";
$pass="password";

$con mysql_pconnect($host,$user,$pass);
 
mysql_select_db($db$con);

        
// Si entramos es que todo se ha realizado correctamente
$_SESSION['username']=$_POST["username"]; 

$now date("Y-m-d H:i:s");


        
$sql="UPDATE usuario SET nombre='".$_POST[nombre]."', apellido='".$_POST[apellido]."', dni='".$_POST[dni]."', rol='".$_POST[rol]."', mail='".$_POST[Email]."',ciudad='".$_POST[ciudad]."',pais='".$_POST[pais]."', fecha_notif='$now' WHERE username= '".$_POST[username]."'";
        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        

        // Ahora comprobaremos que todo ha ido correctamente
       
        
mysql_query($sql$con) or die ("No se pudo conectar con la base de datos");

// avisando

echo " Datos Actualizados";


?>
espero se pueda entender mejor

saludos.......................
  #12 (permalink)  
Antiguo 28/06/2010, 08:53
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: dudas para usar start_session();

Ok a ver si estoy bien.

En tu primer script tienes un error.
No puedes poner comentarios antes de un:
Código PHP:
<?php
session_start
();
?>
Segundo, para enviar el dato Username, es mejor un boton que un href o enlace.

Ahora, no pones el script "agregarusuario.php".

Quizá sea mejor, que una parte de tu sitio, primero agregue el usuario y luego por medio de un login, muestre sus datos y si quiere el usuario, pueda cambiar algún dato que esté erróneo o simplemente quiera cambiarlo.

Un login puede ser muy sencillo:

index.html:
Código HTML:
 <html>

	<head>
		
		<title>Bienvenido</title>
	</head>
	
	<body> 

	<br>

	<center>

	<form name="form_entrada" method="post" action="validar.php">

		<table width="850" height="550" border="0">
			
			<tr>
				<td colspan="2" align="center">
					<hr color="blue">
				</td>
			</tr>

			<tr>
				<td colspan="2" align="center">
					<p>Ingresa tus datos para poder accesar</p>
				</td>
			</tr>

			<tr>
				<td colspan="2" align="center">
					<hr color="blue">
				</td>
			</tr>

			<tr>
				<td width=50% align="right">
					<p>nombre de usuario:</p>
				</td>

				<td  align="left">
					<input id="inputs" type="text" name="username">
				</td>

			</tr>

			<tr>
				<td width=50% align="right">
					<p>contrasenia:</p>
				</td>
			
				<td align="left">
					<p class="style2">
						<input id="inputs" type="password" name="pass">
													
					</p>
				</td>
			</tr>

			<tr>
				<td>
					<div align="right">
						<input id="boton" type="submit" value="Aceptar" name="env">
					</div>
				</td>
	
				<td>
					<div align="left">
						<input id="boton" type="reset" name"bor"  value="Cancelar">
					</div>
				</td>

			</tr>

		</table>
	</form>

	</center>

	</body>
</html> 
validar.php
Código PHP:
<?php 
    session_start
(); 
    if (!isset( 
$_POST['username'] )) { 
        
header("Location: index.html"); 
    } else { 
        
$seleccion mysql_connect("localhost""usuario""password"); 

        
mysql_select_db("ejercicio"$seleccion); 
        
$consulta "SELECT * FROM usuario WHERE username = '{$_POST['username']}' AND pass = '{$_POST['pass']}'"
        
$datos mysql_query($consulta$seelccion); 
        
$numDatos = @mysql_num_rows($datos); 

        if (
$numDatos <= 0) { 
            
header("Location: usuarionoregistrado.html ");  
            
// o  un echo: echo "Error: usuario o contraseña incorrectos.<br>"; en el caso que el usuario no este registrado
        
} else{
                
header("Location: mostrar_datos_usuario.php ");
            }
        } 
    } 
?>
...(estoy probando tus scripts)....

Última edición por venom_mau; 28/06/2010 a las 09:10
  #13 (permalink)  
Antiguo 28/06/2010, 15:14
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: dudas para usar start_session();

Hola lo que pasa es que es una web administrador y en esta parte lo que quiero es que cuando al administrador le pidan revisar los datos de un usuario usando el username del usuario los pueda ver y en la parte donde se ven los datos este los pueda modificar por medio de otro formulario, entonces para eso lo que quiero es usar la variable usuario como global para esa consulta y la modificacion en caso de ser necesario.


pero tengo duda con la forma de usar session_start para volver esa variable global y poderla usar, lo del mensaje que me envia de error ya lo corregi gracias a tu observacion, ya no me sale lo que me sigue fallando es la actualizacion estoy investigando para saber usar bien el las funciones session.
  #14 (permalink)  
Antiguo 29/06/2010, 09:25
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: dudas para usar start_session();

Entonces revisa que este llevando la variable algún dato. Creo que es en este script no?:
Código PHP:
<?php


    
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
   

        
$db="midabse";
$host="localhost";
$user="usuario";
$pass="password";

$con mysql_pconnect($host,$user,$pass);
 
mysql_select_db($db$con);

        
// Si entramos es que todo se ha realizado correctamente
$_SESSION['username']=$_POST["username"]; 

$now date("Y-m-d H:i:s");


        
$sql="UPDATE usuario SET nombre='".$_POST[nombre]."', apellido='".$_POST[apellido]."', dni='".$_POST[dni]."', rol='".$_POST[rol]."', mail='".$_POST[Email]."',ciudad='".$_POST[ciudad]."',pais='".$_POST[pais]."', fecha_notif='$now' WHERE username= '".$_POST[username]."'";
        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        

        // Ahora comprobaremos que todo ha ido correctamente
       
        
mysql_query($sql$con) or die ("No se pudo conectar con la base de datos");

// avisando

echo " Datos Actualizados";


?>
haz algo así antes del update:

Código PHP:
<?php


    
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
   

        
$db="midabse";
$host="localhost";
$user="usuario";
$pass="password";

$con mysql_pconnect($host,$user,$pass);
 
mysql_select_db($db$con);

        
// Si entramos es que todo se ha realizado correctamente

$_SESSION['username']=$_POST['username']; 
$variable=$_POST['username']; 
$variableglobal=$_SESSION['username']; 

echo 
$variable;
echo 
$variableglobal;
.
.
.
Con los echos sabremos si esta trayendo algo esa variable o esta vacía.

Prueba quitando las comillas de la parte del: $_POST["username"]

a ver que pasa
  #15 (permalink)  
Antiguo 30/06/2010, 09:26
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: dudas para usar start_session();

Ahora hice esto, para hacerlo un poco mas sencillo y no confundirme mucho e ir por pasos, cree un link llamado actualizar usuarios, ahi tengo el siguiente formulario con el cual guardo los datos 1ero y capturo usuario para llevarlo al script actualizar.

Código PHP:
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>


        <table>
    <form action="actualizar.php" method="post">
    <tr>

                                    <td align="left"> <div align="center"><em><strong>Actualizar Usuario</strong> </em></div></td>
                                </tr>
                                <tr>
                                    <td>Nick del usuario</td>
                                    <td><input type="text" name="userna"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese la contraseña</td>
                                    <td><input type="text" name="pass"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el nombre del usuario</td>
                                    <td><input type="text" name="nombre"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el apellido</td>
                                    <td><input type="text" name="apellido"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el numero de telefono</td>
                                    <td><input type="text" name="tele"> </td>
                                </tr>
                                <tr>
                                    <td>Ingrese la direccion</td>
                                    <td><input type="text" name="direc"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el numero de documento</td>
                                    <td><input type="text" name="dni"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el rol</td>
                                    <td><input type="text" name="rol"></td>
                                </tr>
                                <tr>

                                                                         </tr>
                                <tr>
                                    <td>E-mail</td>
                                    <td><input type="text" name="Email"></td>
                                </tr>
                                <tr>

                                                                           </tr>
                                <tr>
                                    <td>Ciudad</td>
                                    <td><input type="text" name="ciudad"></td>
                                </tr>
                                <tr>
                                                                         </tr>
                                <tr>
                                    <td>Pais</td>
                                    <td><input type="text" name="pais"></td>
                                </tr>
                                <tr>


                                    <td><div align="center">
                                      <input type="submit" name="action" value="actualizar" size="4">
                                    </div></td>
                                </tr>
    </form>


</table>

        <?php
        
// put your code here
        
?>
    </body>
</html>
Pero cuando llega a mi script ya me fije que no llego el valor de usuario por eso no me hace la consulta.

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


    
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
   

        
$db="dbase";
$host="localhost";
$user="usuario";
$pass="pass";


if (!isset(
$_POST['usuario'])){
$con mysql_pconnect($host,$user,$pass);
 
mysql_select_db($db$con);

        
// Si entramos es que todo se ha realizado correctamente
 

$now date("Y-m-d H:i:s");



        
$sql="UPDATE usuario SET nombre='".$_POST[nombre]."', apellido='".$_POST[apellido]."', telefono='".$telefono."', dni='".$_POST[dni]."', rol='".$_POST[rol]."', mail='".$_POST[Email]."',ciudad='".$_POST[ciudad]."',pais='".$_POST[pais]."', fecha_notif='$now' WHERE usuario= '".$_POST['usuario']."'";

$result mysql_query($sql);
        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        

        // Ahora comprobaremos que todo ha ido correctamente
       
        
mysql_query($sql$con) or die ("No se pudo conectar con la base de datos");

// avisando

echo " Datos Actualizados";
echo 
$usuario;
}
else {
    echo 
"debes especificar un usuario";
    
}

?>
ahora si que me confundi!!!!!!!!

Última edición por LordRadium; 30/06/2010 a las 12:05
  #16 (permalink)  
Antiguo 30/06/2010, 09:49
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: dudas para usar start_session();

Ya intentaste en el update en lugar de:
Código PHP:
$sql="UPDATE usuario SET nombre='".$_POST[nombre]."', apellido='".$_POST[apellido]."', telefono='".$telefono."', dni='".$_POST[dni]."', rol='".$_POST[rol]."', mail='".$_POST[Email]."',ciudad='".$_POST[ciudad]."',pais='".$_POST[pais]."', fecha_notif='$now' WHERE usuario= '".$_POST['usuario']."'"
hacer:

Código PHP:
$sql="UPDATE usuario SET nombre='".$_POST['nombre']."', apellido='".$_POST['apellido']."', telefono='".$telefono."', dni='".$_POST['dni']."', rol='".$_POST['rol']."', mail='".$_POST['Email']."',ciudad='".$_POST['ciudad']."',pais='".$_POST['pais']."', fecha_notif='$now' WHERE usuario= '".$_POST['usuario']."'"
O sea encerrar el campo a recibir con comilals simples ('), y debes fijarte que los nombres de los campos de tu formualrio:
Código PHP:
<input type="text"[Bname="userna"[/B]> 
deben de coincidir con los que recibas en tu script del update:
Código PHP:
$_POST['userna'
Espero me haya explicado
  #17 (permalink)  
Antiguo 30/06/2010, 10:23
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: dudas para usar start_session();

Ahora hice esto, para hacerlo un poco mas sencillo y no confundirme mucho e ir por pasos, cree un link llamado actualizar usuarios, ahi tengo el siguiente formulario con el cual guardo los datos 1ero y capturo usuario para llevarlo al script actualizar.

Código PHP:
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>


        <table>
    <form action="actualizar.php" method="post">
    <tr>

                                    <td align="left"> <div align="center"><em><strong>Actualizar Usuario</strong> </em></div></td>
                                </tr>
                                <tr>
                                    <td>Nick del usuario</td>
                                    <td><input type="text" name="userna"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese la contraseña</td>
                                    <td><input type="text" name="pass"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el nombre del usuario</td>
                                    <td><input type="text" name="nombre"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el apellido</td>
                                    <td><input type="text" name="apellido"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el numero de telefono</td>
                                    <td><input type="text" name="tele"> </td>
                                </tr>
                                <tr>
                                    <td>Ingrese la direccion</td>
                                    <td><input type="text" name="direc"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el numero de documento</td>
                                    <td><input type="text" name="dni"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el rol</td>
                                    <td><input type="text" name="rol"></td>
                                </tr>
                                <tr>

                                                                         </tr>
                                <tr>
                                    <td>E-mail</td>
                                    <td><input type="text" name="Email"></td>
                                </tr>
                                <tr>

                                                                           </tr>
                                <tr>
                                    <td>Ciudad</td>
                                    <td><input type="text" name="ciudad"></td>
                                </tr>
                                <tr>
                                                                         </tr>
                                <tr>
                                    <td>Pais</td>
                                    <td><input type="text" name="pais"></td>
                                </tr>
                                <tr>


                                    <td><div align="center">
                                      <input type="submit" name="action" value="actualizar" size="4">
                                    </div></td>
                                </tr>
    </form>


</table>

        <?php
        
// put your code here
        
?>
    </body>
</html>
Pero cuando llega a mi script ya me fije que no llego el valor de usuario por eso no me hace la consulta.

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


    
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
   

        
$db="dbase";
$host="localhost";
$user="user";
$pass="pass";


if (!isset(
$_POST['usuario'])){
$con mysql_pconnect($host,$user,$pass);
 
mysql_select_db($db$con);

        
// Si entramos es que todo se ha realizado correctamente
 

$now date("Y-m-d H:i:s");



        
$sql="UPDATE usuario SET nombre='".$_POST[nombre]."', apellido='".$_POST[apellido]."', telefono='".$telefono."', dni='".$_POST[dni]."', rol='".$_POST[rol]."', mail='".$_POST[Email]."',ciudad='".$_POST[ciudad]."',pais='".$_POST[pais]."', fecha_notif='$now' WHERE usuario= '".$_POST['usuario']."'";

$result mysql_query($sql);
        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        

        // Ahora comprobaremos que todo ha ido correctamente
       
        
mysql_query($sql$con) or die ("No se pudo conectar con la base de datos");

// avisando

echo " Datos Actualizados";
echo 
$usuario;
}
else {
    echo 
"debes especificar un usuario";
    
}

?>
ahora si que me confundi!!!!!!!!

Última edición por LordRadium; 30/06/2010 a las 12:04
  #18 (permalink)  
Antiguo 30/06/2010, 10:56
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: dudas para usar start_session();

Ahora hice esto, para hacerlo un poco mas sencillo y no confundirme mucho e ir por pasos, cree un link llamado actualizar usuarios, ahi tengo el siguiente formulario con el cual guardo los datos 1ero y capturo usuario para llevarlo al script actualizar.

Código PHP:
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>


        <table>
    <form action="actualizar.php" method="post">
    <tr>

                                    <td align="left"> <div align="center"><em><strong>Actualizar Usuario</strong> </em></div></td>
                                </tr>
                                <tr>
                                    <td>Nick del usuario</td>
                                    <td><input type="text" name="userna"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese la contraseña</td>
                                    <td><input type="text" name="pass"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el nombre del usuario</td>
                                    <td><input type="text" name="nombre"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el apellido</td>
                                    <td><input type="text" name="apellido"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el numero de telefono</td>
                                    <td><input type="text" name="tele"> </td>
                                </tr>
                                <tr>
                                    <td>Ingrese la direccion</td>
                                    <td><input type="text" name="direc"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el numero de documento</td>
                                    <td><input type="text" name="dni"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el rol</td>
                                    <td><input type="text" name="rol"></td>
                                </tr>
                                <tr>

                                                                         </tr>
                                <tr>
                                    <td>E-mail</td>
                                    <td><input type="text" name="Email"></td>
                                </tr>
                                <tr>

                                                                           </tr>
                                <tr>
                                    <td>Ciudad</td>
                                    <td><input type="text" name="ciudad"></td>
                                </tr>
                                <tr>
                                                                         </tr>
                                <tr>
                                    <td>Pais</td>
                                    <td><input type="text" name="pais"></td>
                                </tr>
                                <tr>


                                    <td><div align="center">
                                      <input type="submit" name="action" value="actualizar" size="4">
                                    </div></td>
                                </tr>
    </form>


</table>

        <?php
        
// put your code here
        
?>
    </body>
</html>
Pero cuando llega a mi script ya me fije que no llego el valor de usuario por eso no me hace la consulta.

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


    
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
   

        
$db="dbase";
$host="localhost";
$user="usuario";
$pass="pass";


if (!isset(
$_POST['usuario'])){
$con mysql_pconnect($host,$user,$pass);
 
mysql_select_db($db$con);

        
// Si entramos es que todo se ha realizado correctamente
 

$now date("Y-m-d H:i:s");



        
$sql="UPDATE usuario SET nombre='".$_POST[nombre]."', apellido='".$_POST[apellido]."', telefono='".$telefono."', dni='".$_POST[dni]."', rol='".$_POST[rol]."', mail='".$_POST[Email]."',ciudad='".$_POST[ciudad]."',pais='".$_POST[pais]."', fecha_notif='$now' WHERE usuario= '".$_POST['usuario']."'";

$result mysql_query($sql);
        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        

        // Ahora comprobaremos que todo ha ido correctamente
       
        
mysql_query($sql$con) or die ("No se pudo conectar con la base de datos");

// avisando

echo " Datos Actualizados";
echo 
$usuario;
}
else {
    echo 
"debes especificar un usuario";
    
}

?>
ahora si que me confundi!!!!!!!!

Última edición por LordRadium; 30/06/2010 a las 12:04
  #19 (permalink)  
Antiguo 30/06/2010, 11:59
 
Fecha de Ingreso: marzo-2010
Mensajes: 140
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: dudas para usar start_session();

Ahora hice esto, para hacerlo un poco mas sencillo y no confundirme mucho e ir por pasos, cree un link llamado actualizar usuarios, ahi tengo el siguiente formulario con el cual guardo los datos 1ero y capturo usuario para llevarlo al script actualizar.

Código PHP:
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>


        <table>
    <form action="actualizar.php" method="post">
    <tr>

                                    <td align="left"> <div align="center"><em><strong>Actualizar Usuario</strong> </em></div></td>
                                </tr>
                                <tr>
                                    <td>Nick del usuario</td>
                                    <td><input type="text" name="userna"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese la contraseña</td>
                                    <td><input type="text" name="pass"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el nombre del usuario</td>
                                    <td><input type="text" name="nombre"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el apellido</td>
                                    <td><input type="text" name="apellido"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el numero de telefono</td>
                                    <td><input type="text" name="tele"> </td>
                                </tr>
                                <tr>
                                    <td>Ingrese la direccion</td>
                                    <td><input type="text" name="direc"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el numero de documento</td>
                                    <td><input type="text" name="dni"></td>
                                </tr>
                                <tr>
                                    <td>Ingrese el rol</td>
                                    <td><input type="text" name="rol"></td>
                                </tr>
                                <tr>

                                                                         </tr>
                                <tr>
                                    <td>E-mail</td>
                                    <td><input type="text" name="Email"></td>
                                </tr>
                                <tr>

                                                                           </tr>
                                <tr>
                                    <td>Ciudad</td>
                                    <td><input type="text" name="ciudad"></td>
                                </tr>
                                <tr>
                                                                         </tr>
                                <tr>
                                    <td>Pais</td>
                                    <td><input type="text" name="pais"></td>
                                </tr>
                                <tr>


                                    <td><div align="center">
                                      <input type="submit" name="action" value="actualizar" size="4">
                                    </div></td>
                                </tr>
    </form>


</table>

        <?php
        
// put your code here
        
?>
    </body>
</html>
Pero cuando llega a mi script ya me fije que no llego el valor de usuario por eso no me hace la consulta.

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


    
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
   

        
$db="dbase";
$host="localhost";
$user="usuario";
$pass="password";


if (!isset(
$_POST['usuario'])){
$con mysql_pconnect($host,$user,$pass);
 
mysql_select_db($db$con);

        
// Si entramos es que todo se ha realizado correctamente
 

$now date("Y-m-d H:i:s");



        
$sql="UPDATE usuario SET nombre='".$_POST[nombre]."', apellido='".$_POST[apellido]."', telefono='".$telefono."', dni='".$_POST[dni]."', rol='".$_POST[rol]."', mail='".$_POST[Email]."',ciudad='".$_POST[ciudad]."',pais='".$_POST[pais]."', fecha_notif='$now' WHERE usuario= '".$_POST['usuario']."'";

$result mysql_query($sql);
        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        

        // Ahora comprobaremos que todo ha ido correctamente
       
        
mysql_query($sql$con) or die ("No se pudo conectar con la base de datos");

// avisando

echo " Datos Actualizados";
echo 
$usuario;
}
else {
    echo 
"debes especificar un usuario";
    
}

?>
ahora si que me confundi!!!!!!!!

Etiquetas: Ninguno
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:20.