Foros del Web » Programando para Internet » PHP »

no me muestra la cookie entera

Estas en el tema de no me muestra la cookie entera en el foro de PHP en Foros del Web. pues tengo una pagina de inicio donde ingreso mi usuario, si ese usuario esta en mi base de datos se verifica en mi bd y ...
  #1 (permalink)  
Antiguo 16/05/2011, 11:29
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
Pregunta no me muestra la cookie entera

pues tengo una pagina de inicio donde ingreso mi usuario, si ese usuario esta en mi base de datos se verifica en mi bd y crea la cookie, pero cuando intento ver la cookie solo me aparece "la primera letra".

aqui esta mi codigo pasado de un formulario de la pagina de inicio:


Código:
<?php

if (!empty($_POST)) {
    $conexion = mysql_connect('localhost','root','');
    mysql_select_db('datos',$conexion);
    
    $user = mysql_real_escape_string($_POST['usuario']);
    
    if ($user) {
        $sql = 'SELECT usuario FROM datos1 WHERE usuario = \''.$user.'\'';
 
        $query = mysql_query($sql,$conexion) or die(mysql_error());
        $numUsers = mysql_num_rows($query);
 
        if ($numUsers != 0) {
			
			//añado sentencia que crea la cookie en esta variable con duracion de 4 años
			setcookie ("usuario1", $user['usuario'],time()+60*60*24*1460 );

			
            echo '<p>Usuario correcto</p>';
        }else {
            echo '<p>El usuario no existe</p>';
        }
    }else {
        echo '<p>Error, intento de ataque SQL Inyection</p>';
    }
}
?>
ese campo en mi base de datos es varchar de 100

quisiera que me apareciera la cookie escrita entera.
  #2 (permalink)  
Antiguo 16/05/2011, 11:55
Avatar de jenusys  
Fecha de Ingreso: diciembre-2008
Ubicación: Ahí mismo.
Mensajes: 216
Antigüedad: 15 años, 3 meses
Puntos: 11
Respuesta: no me muestra la cookie entera

Puedes estar teniendo problemas con la codificación. Si el nombre de usuario tiene una eñe (ñ), tildes u otro caracter especial y no has codificado bien todo, te puede generar errores de inserción; otro error frecuente es la forma de uso de comillas en el manejo de inserción de variables. Por ejemplo:

$sql = 'SELECT usuario FROM datos1 WHERE usuario = \''.$user.'\'';

Yo lo pondría:

$sql = "SELECT usuario FROM datos1 WHERE usuario = $user ";

ó

$sql = "SELECT usuario FROM datos1 WHERE usuario = ".$user;

Creo tu manejo de comillas es el problema.
  #3 (permalink)  
Antiguo 16/05/2011, 11:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: no me muestra la cookie entera

Pero lo que haces aquí:
Código PHP:
// MAL
setcookie ("usuario1"$user['usuario'],time()+60*60*24*1460 );

// BIEN
setcookie ("usuario1"$user,time()+60*60*24*1460 ); 
Porque $user no es un array, aquí la defines:
Código PHP:
$user mysql_real_escape_string($_POST['usuario']); 
¿Verdad?

Edito: jenusys, la verdad es que estás mas confundido tu, te invito a leer esto:
http://www.forosdelweb.com/f18/como-...s-bien-588701/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 16/05/2011, 12:13
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: no me muestra la cookie entera

pues gracias pateketrueke me sirvio, no era un array.

Etiquetas: cookie
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 17:46.