Comunidad de diseño web y desarrollo en internet online

ayuda con esta session

Citar            
MensajeEscrito el 25 Sep 2007 07:20 pm
Hice esta session


<?
session_start();
$_SESSION["usuario"] = $_POST["usuario"];
$_SESSION["contrasena"] = $_POST["contrasena"];
?>

<form method = "POST" action = "prueba2.php">
<strong>Usuario: </strong>
<input name="usuario" value="" size="20"><br><br>
<strong>Contarsena: </strong>
<input name="contrasena" value="" size="20"><br><br>
<input type="submit" value="buscar"><br><br>
</form>
</body>
</html>

pèro en esta ya me atore

<?php
session_start();
if(!isset($_SESSION['usuario']))
{
echo "Usuario incorrecto";
}
else
{
echo "Su Registro es ".$_SESSION['usuario'];
}
?>


me podrian ayudar

Por micky_r2003

93 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 25 Sep 2007 07:30 pm
y el problema es?
Segundo... aprende a usar las etiquetas [*code][*/code] (sin los asteriscos) para poner tu código, para que te queden asi de bien:

Código :

<?php
session_start();
if(!isset($_SESSION['usuario']))
{
echo "Usuario incorrecto";
}
else
{
echo "Su Registro es ".$_SESSION['usuario'];
}
?>


Saludos

Por PabloHdS

251 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Sep 2007 11:25 pm
el problema es que tengo un formulario donde meto numero de cliente para dar acceso a un menu de clientes de mi sitio pero quiero crear una session para ocultar mi numero de cliente del URL y supongo que ahi empieza la session (en el formulario) y la puse asi, donde $num_cliente es la variable que manejo en las demas paginas para el numero de cliente

<?php
session_start();
$_SESSION['cliente'] = $num_cliente; ( no se si es correcto poner esta variable asi )
?>

<form method = "POST" action = "http://localhost/menu2.php">
<strong>Numero de Cliente: </strong>
<input name="cliente" value="" size="20"><br><br>
<input type="submit" value="buscar"><br><br>
</div>
</form>
</font>
</body>
</html>

y ya en el menu esta asi y aqui es donde me atoro por que no se como ponerlo exactamente??? y es lo uico que me falta, plisss ayudaaaaa ,

<?php
<?php
session_start();
if(!isset($_SESSION['cliente']))
{
$num_cliente = $_POST['cliente'];
$link = mysql_connect ("0.0.0.0", "usuario", "pasword");
$db = mysql_select_db ("base de datros", $link);
$strqry = "SELECT * FROM tabla where numero =\"".$num_cliente."\"";

$qry = mysql_query($strqry);
$row = mysql_fetch_assoc($qry);

if ($row ["numero"]=="") {
print '<p align="center"> "NUMERO DE CLIENTE O PASWORD INCORRECTOS"</font></p>';
} else {
?>
<p >BIENVENIDO</p>
<p ><?php print $row ["nombre"]; ?></p>

aun que en esta pagina de menu no me muestra el numero de cliente en el URL pero este menu tiene a su ves links como este

print '<table>';
print '<tr>';
print ' <td><a href=reporte.php?cliente='.$num_cliente.'>

y me lleva a reportes donde si me muestra el numero de cliente en el URL un ejemplo es este codigo

$strqry = "SELECT * FROM reporte where cliente =\"".$num_cliente."\"";
$qry = mysql_query($strqry);
mysql_data_seek($qry,0);
while ($row = mysql_fetch_assoc($qry)){
?>

<table align="center" width="100%" border="0" color="#006600" bgcolor="#ffffff">
<tr>
<td><font color="#006699" size="1" face=" Arialf"><?php print $row ["direcion"]; ?></font></td>
<td><font color="#006699" size="1" face="Arial"><?php print $row ["fecha"]; ?></font></td>
<td><font color="#006699" size="1" face="Arial"><?php print $row ["telefono"]; ?></font></td>

<?php
}
?>
</body>
</html> solicito ayuda por que no me queda

Por micky_r2003

93 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 26 Sep 2007 03:34 am
Si lo que nos dices es que esto:

Código :

<?php
session_start(); 
$_SESSION['cliente'] = $num_cliente; ( no se si es correcto poner esta variable asi )
?> 

<form method = "POST" action = "http://localhost/menu2.php"> 
<strong>Numero de Cliente: </strong>
<input name="cliente" value="" size="20"><br><br>
<input type="submit" value="buscar"><br><br>
</div>
</form>
</font>
</body>
</html>

Es todo un mismo código pues... está mal xD.

La variable $num_cliente no tiene ningún valor, es más, está indefinida (es el error que te lanzará PHP si ejecutas esto).

Pues no, lo que debes hacer es iniciar la sesión *después* de probar que el usuario que intenta identificarse existe en la base de datos, no antes. Entonces lo que tiene que ver con el inicio de la sesión va en la segunda página o script, la que recibe el formulario (menu2.php según el código que has posteado aquí).

Concretamente esta parte:

Código :

if ($row ["numero"]=="") {
print '<p align="center"> "NUMERO DE CLIENTE O PASWORD INCORRECTOS"</font></p>';
} else {
  session_start();
  $_SESSION["num_cliente"]=$num_cliente; // aquí pasas el 
?>
<p >BIENVENIDO</p>
<p ><?php print $row ["nombre"]; ?></p>


Entonces sí, en cada lugar de tu sitio donde necesites saber si hay un cliente logueado y qué número tiene recurre a consultar $_SESSION["num_cliente"]; y no olvides reabrir la sesión con session_start();

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 01 Oct 2007 06:56 pm
ya lo puse como me dice es decir asi:

<?php
$num_cliente = $_POST['cliente'];
$link = mysql_connect ("0.0.0.0", "usuario", "pasword");
$db = mysql_select_db ("basededatosl", $link);
$strqry = "SELECT * FROM tabla where numero =\"".$num_cliente."\"";

$qry = mysql_query($strqry);
$row = mysql_fetch_assoc($qry);

if ($row ["numero"]=="") {
print "NUMERO DE CLIENTE O PASWORD INCORRECTOS"</font></p>';
} else {


//PERO ME MANDA ERROR EN ESTA LINEA (Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\MENU2.PHP:6) in C:\wamp\www\MENU.PHP on line 84


84 session_start();
85 $_SESSION["num_cliente"]=$num_cliente;
86
87 ?>
88 <font color="#FF0000" size="3" face="Arial">BIENVENIDO</font></p>
89 <p><font color="#006699" size="2" face="Arial"><?php print $row ["nombre"]; ?></font></p>

Por micky_r2003

93 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 01 Oct 2007 07:52 pm
Hola micky_r2003. Bienvenido a Clab.
Por favor, cuando vayas a postear código, hazlo entre etiquetas [*code] [*/code] (sin los asteriscos) para que no corras el riesgo de romper el diseño del foro y para que tu código sea más entendible.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 01 Oct 2007 08:13 pm
No entiendo a qué script corresponde las partes de código que estás posteando. Explica por favor cuántas páginas tienes para hacer todo esto y postea el código de cada cosa, por favor.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 01 Oct 2007 08:38 pm
ok siento lo de las etiquetas

mi formulario

Código :

 <?php
<form method = "POST" action = "http://localhost/menu2.php"> 
<strong>Numero de Cliente: </strong>
<input name="cliente" value="" size="20"><br><br>
<input type="submit" value="buscar"><br><br>
</div>
</form>
</font>
</body>
</html>




mi archivo menu2.php

Código :

<?php
$num_cliente = $_POST['cliente'];
$link = mysql_connect ("0.0.0.0", "usuario", "pasword");
$db = mysql_select_db ("basededatosl", $link);
$strqry = "SELECT * FROM tabla where numero =\"".$num_cliente."\"";

$qry = mysql_query($strqry);
$row = mysql_fetch_assoc($qry);

if ($row ["numero"]=="") {
print "NUMERO DE CLIENTE O PASWORD INCORRECTOS"</font></p>';
} else {


//PERO ME MANDA ERROR EN ESTA LINEA (Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\wamp\www\MENU2.PHP:6) in C:\wamp\www\MENU.PHP on line 84


84 session_start();
85 $_SESSION["num_cliente"]=$num_cliente; 
86
87 ?>
88 <font color="#FF0000" size="3" face="Arial">BIENVENIDO</font></p>
89 <p><font color="#006699" size="2" face="Arial"><?php print $row ["nombre"]; ?></font></p>

Por micky_r2003

93 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 02 Oct 2007 05:20 am
¿Qué tienes en la línea 6?

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Oct 2007 06:20 pm
un script de fecha y hora

Código :

6   <?//script de fecha y hora?>
7
8   <span id="liveclock" style="position:absolute;left:900;top:120;">
9  </span>
10
11  <script language="JavaScript">
12  <!-- Mas trucos y scripts en http://www.javascript.com.mx -->
13 
14  function show5(){
15  if (!document.layers&&!document.all&&!document.getElementById)
16  return
17
18  var Digital=new Date()
19  var hours=Digital.getHours()
20  var minutes=Digital.getMinutes()
21  var seconds=Digital.getSeconds()
22
23  var dn="PM"
24  if (hours<12)
25  dn="AM"
26  if (hours>12)
27 hours=hours-12
28 if (hours==0)
29 hours=12
30
31 if (minutes<=9)
32 minutes="0"+minutes
33 if (seconds<=9)
33  seconds="0"+seconds
34 //change font size here to your desire
35 myclock="<font size='1' face='arial' color='990000'><b><font size='1'>Hora actual:</font></br>"+hours+":"+minutes+":"
36  +seconds+" "+dn+"</b></font>"
37 if (document.layers){
38 document.layers.liveclock.document.write(myclock)
39 document.layers.liveclock.document.close()
40  }
41 else if (document.all)
42 liveclock.innerHTML=myclock
43 else if (document.getElementById)
44 document.getElementById("liveclock").innerHTML=myclock
45 setTimeout("show5()",1000)
46  }
47 window.onload=show5
48  //-->
49  </script>

Por micky_r2003

93 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 03 Oct 2007 12:05 am
Ah, veo. Pues todo lo que he comentado hasta ahora debe ir bien al principio del archivo. Cuando utilizas sesiones no puedes enviar absolútamente nada antes de ejecutarse session_start(), absolútamente NADA de NADA, ni siquiera un simple espacio, porque session_start() utiliza cookies y manipula los headers que el servidor le envia al cliente. Al enviarle algo al clientes antes, aunque sea un simple espacio en blanco, el servidor automáticamente genera los headers y una vez hecho esto ya no puedes modificarlos y session_start() no tiene ningún efecto.

Tendrás que reordenar tu código de acuerdo a estas cosas.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 03 Oct 2007 08:21 pm
ya reordene mi codigo y ya no me mando ningun error pero en menu2.php tengo un link hacia un reporte que al ir a ese reporte me aparece el numero de cliente en el URL al intentar regresar al menu2 me pone que la pagina ha caducado, asi quedo la session en menu2.php`

Código :

?php
session_start();
$num_cliente = $_POST['cliente'];
$link = mysql_connect ("0.0.0.0", "usuario", "pasword");
$db = mysql_select_db ("basededatos", $link);
$strqry = "SELECT * FROM tabla where numero =\"".$num_cliente."\"";
$qry = mysql_query($strqry);
$row = mysql_fetch_assoc($qry);
if ($row ["numero"]=="") {
             print '<p align="center"> "NUMERO DE CLIENTE O PASWORD INCORRECTOS"</font></p>';
} else {
session_start();
$_SESSION["num_cliente"]=$num_cliente;
?>
<p>BIENVENIDO</p>
<?php print $row ["nombre"]; ?></font></p>        


en este reporte uso dos select uno para imprimir el nombre del cliente en el reporte ya que esta en nombre esta en una tabla y otro para jalar informacion que del reporte que esta en otra tabla


Código :

<?php
$num_cliente = $_GET['cliente'];
$link = mysql_connect ("0.0.0.0", "usuario", "pasword");
$db = mysql_select_db ("basededatos", $link);
$strqry = "SELECT * FROM tabladenombredelcliente where numero =\"".$num_cliente."\"";  //select para imprimir el nombre del cliente

$qry = mysql_query($strqry);
$row = mysql_fetch_assoc($qry);    
        
?>
        <p>REPORTE></p>
        <p><?php print  $row ["nombre"]; ?></p>           
      
<?php 
   print '</tr>';                  
   print '</table>';
   print '<table>';
   print '<tr>';
   print '<td>FOLIO</td>';
   print '<td>FECHA</font></td>';
 
session_start();
$_SESSION["num_cliente"]=$num_cliente;
$strqry = "SELECT * FROM tablareporte where cliente =\"".$num_cliente."\"";                //select para informacion del reporte 
$qry = mysql_query($strqry);
mysql_data_seek($qry,0);
while ($row = mysql_fetch_assoc($qry)){      
      <table>
         <tr>
            <td><?php print $row ["folio"]; ?></td>
            <td><?php print $row ["fecha"]; ?></td>
</tr>                 
<?php 
}
?>
</body>
</html> 

Por micky_r2003

93 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 03 Oct 2007 10:22 pm
Disculpa, no puedo seguir ayudándote.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 03 Oct 2007 10:53 pm
ok gracia s pero tu ayuda me sirvio creo que ya encontre el problema, disculpa la lata pero el tiempo me estaba comiendo pero ya tengo mas claro todo, he estado leyendo mucho de sessiones.

Gracias

Por micky_r2003

93 de clabLevel



Genero:Masculino  

msie7

 

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