Foros del Web » Programando para Internet » PHP »

Problema con $_GET

Estas en el tema de Problema con $_GET en el foro de PHP en Foros del Web. Hola gente necesito ayuda con este problema que me tiene loco jaja. Lo que quiero hacer es que al seleccionar un skin (una imagen) me ...
  #1 (permalink)  
Antiguo 06/01/2012, 04:49
 
Fecha de Ingreso: enero-2010
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Problema con $_GET

Hola gente necesito ayuda con este problema que me tiene loco jaja.
Lo que quiero hacer es que al seleccionar un skin (una imagen) me guarde el numero del skin en la base de datos, despues ingreso a la base de datos y me fijo si lo guardo y no lo guarda. Lei sobre register_globals y lo puse en On a los 3 archivos que estan en la carpeta PHP.

PHP (Opciones de configuracion)
PHP.INI (Archivo INI DEVELOPMENT)
PHP.INI (Archivo INI PRODUCTION)


Cuando yo selecciono un skin el link quedaria algo asi..

http://localhost/site/ingreso.php?pj=9

Les dejo el codigo.
Código:
<?

if (isset($_GET['pj'])) {

$pj = ($_GET["pj"]);

$query = "UPDATE users SET skin='$pj'";
@mysql_query($query);
}

?>
Otro problema similar que tengo es el siguiente:

Código:
            <div class="ctxtg">
            <a href="cambiara.php?gen=h">Hombres</a>
            <a href="cambiara.php?gen=m">Mujeres</a>
            </div>
            <p>&nbsp; </p>
         
            <div id="seleccionar-skin">
            <?
			if ((isset($_GET["gen"])) && ($_GET["gen"]=="m")) 
			{
            ?>
            	<a href="ingresou.php?pj=9">
                <img class="fotoskin" alt="Seleccionar"  src="imagenes/personajes/9.png" />
                </a>
            	<a href="ingresou.php?pj=11">
                <img class="fotoskin" alt="Seleccionar"  src="imagenes/personajes/11.png" />
                </a>
			<?
            } else {
			?>
            	<a href="ingresou.php?pj=1">
                <img class="fotoskin" alt="Seleccionar"  src="imagenes/personajes/1.png" />
                </a>
            	<a href="ingresou.php?pj=17">
                <img class="fotoskin" alt="Seleccionar"  src="imagenes/personajes/17.png" />
            <? } ?>
            </div>
Cuando hago click en hombre o mujer siguen estando las imagenes de los skins todas juntas (Osea hombre y mujeres)

No tengo idea de que puede ser ya hice de todo...
  #2 (permalink)  
Antiguo 06/01/2012, 05:11
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Problema con $_GET

Hola:

No tendrás el error en la inserción... ... ¿Porqué no consultas el mysql_error() después de la inserción...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 06/01/2012, 09:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con $_GET

Aparte, creo yo a tu UPDATE le falta un WHERE, ya que ese UPDATE afectaría a todos los registros de tu tabla...
  #4 (permalink)  
Antiguo 06/01/2012, 09:43
 
Fecha de Ingreso: enero-2010
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema con $_GET

Hice lo que me dijiste y no me tira ningun error. Yo creo que tengo todo bien quisas no active bien los register_globals

Pero en los archivos que te nombre anteriormente cuando vi el register_globals = Off lo puse en On y resetee el wamp. Sigue sin funcionarme
  #5 (permalink)  
Antiguo 06/01/2012, 09:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con $_GET

Quita la @ de mysql_query, ya que eso precisamente oculta los errores.
  #6 (permalink)  
Antiguo 06/01/2012, 10:25
 
Fecha de Ingreso: enero-2010
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema con $_GET

No no me tira ningun error. Tengo otra web que descarge es un Control de Usuario, donde toma valores de la base de datos y los modifica en la web. Bueno en esa web utilizo $_GET y me funciona lo mas bien, me toma los valores de la url, a si que deduzco que problema de register_globals no es, el error tiene que estar en el codigo :S
  #7 (permalink)  
Antiguo 06/01/2012, 10:58
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Problema con $_GET

Por eso mismo no te "tira" error, lee con detenimiento lo que dice @GatorV, con el @ antepuesto a la función mysql_query NO se muestra el error, quita el @ y agrega mysql_error

Código PHP:
Ver original
  1. mysql_query($sql, $conexion) or die (mysql_error());
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #8 (permalink)  
Antiguo 06/01/2012, 11:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con $_GET

También usa <?php en lugar de <? ya que hay sitios que tienen el uso de short_tags en off.

Saludos.
  #9 (permalink)  
Antiguo 06/01/2012, 11:02
 
Fecha de Ingreso: enero-2010
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema con $_GET

Hice eso y no me dice ningun error, solamente me tira como 3 mensajes de estos Notice: Undefined index: kills in C:\wamp\www\site\ingresou.php on line 129 (Que no tiene nada que ver con lo que estoy haciendo)

Y yo ocultaba esos mensajes con <?php error_reporting (E_ALL ^ E_NOTICE); ?>

Saque <?php error_reporting (E_ALL ^ E_NOTICE); ?> para ver si me daba el error pero tampoco.
  #10 (permalink)  
Antiguo 06/01/2012, 11:04
 
Fecha de Ingreso: enero-2010
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema con $_GET

GatorV ahi hice lo ultimo que me dijiste y me tiro esto:

Notice: Undefined variable: sql in C:\wamp\www\site\ingresou.php on line 11

Notice: Undefined variable: conexion in C:\wamp\www\site\ingresou.php on line 11

Warning: mysql_query() expects parameter 2 to be resource, null given in C:\wamp\www\site\ingresou.php on line 11
  #11 (permalink)  
Antiguo 06/01/2012, 11:11
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problema con $_GET

Pues ahí tienes muchos errores que tienes que corregir, te dice que no existe ni la variable $sql, ni $conexion en tu script.
  #12 (permalink)  
Antiguo 06/01/2012, 12:42
 
Fecha de Ingreso: enero-2010
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema con $_GET

Cita:
Iniciado por GatorV Ver Mensaje
Pues ahí tienes muchos errores que tienes que corregir, te dice que no existe ni la variable $sql, ni $conexion en tu script.
Bueno el segungo problema lo arregle era simple tuve que cambiar lo de <? por <?php...

Ahora el primero no puedo, y el sistema que quiero armar consta de lo siguiente.

Que al ingresar el usuario a su cuenta le muestre la imagen de su personaje (Skin) que tiene guardado en su base de datos, por default es 0 a si que le muestra ese skins. Entonces quiero que tenga la ventaja de poder cambiar su skins entonces pense en algo como esto.

Código:
<?php
include("config.php");

if(isset($_POST['login']))
{
    $nick= $_POST['name'];
    $pass= $_POST['password'];
    $pj = $row ['skin'];
    $b_user=mysql_query("SELECT * FROM users WHERE name='$nick'");    
    $ses = mysql_fetch_assoc($b_user)or die (mysql_error());
    if(mysql_num_rows($b_user) or die (mysql_error()));
    {
        if($ses['password'] == $pass)
        {
            $_SESSION['reg_id']=  $ses["reg_id"];
            $_SESSION['name']=    $ses["name"];
			$_SESSION['skin']=     $ses["skin"];
        }
    }
}
if (isset($_GET['pj'])) 
{
$nick = $_SESSION['name'];
$pj = stripslashes(trim($_GET["pj"]));

$query = "UPDATE users SET skin='$pj'";
mysql_query($query) or die (mysql_error());
}
?>

Lo mas seguro que algo de eso este mal a si que necesitaria que me ayuden armarlo bien. Eso tiene que cambiar el valor del skin del player que se acaba de logear en la web.
  #13 (permalink)  
Antiguo 06/01/2012, 16:54
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Problema con $_GET

mmmm a ver, por lo que veo, todo lo estas mandando via post, como pretendes coger una variable get, muestra el código del formulario
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #14 (permalink)  
Antiguo 06/01/2012, 18:16
 
Fecha de Ingreso: enero-2010
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema con $_GET

Código:
    <form name="login_user" action="ingresou.php" method="post" />
        <dt><label>Nick:</label></dt>
        <input type='text' name='name' /><br /><br />
        <dt><label>Contraseña:</label></dt>
        <input type="password" name='password' /><br /><br />
        
        <input type="submit" name="login" style="width:100px;" tabindex="6" value="Entrar" />
        <input type="reset" name="Limpiar" style="width:100px;" tabindex="6" value="Limpiar" />
    </form>
Ese es el formulario.

Yo lo que quiero que el usuario al logearse con su cuenta, en sus estadisticas aparesca su foto/skin, y que tenga la posibilidad de cambiarlo.

Y al cambiarlo se guarde la variable a traves del Get en la base de datos. Digamos que es como un Avatar, se entiende ?
  #15 (permalink)  
Antiguo 06/01/2012, 19:08
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Problema con $_GET

claro que se entiende, pero, te has dado cuenta QUE NO TIENES NUNGUN CAMPO con el nombre "pj" y mucho menos enviado via GET, así JAMAS te va a guardar dicho dato porque no lo estas mandando, agrega dicho campo o un radio button, o mejor aun crea una página especifica para eso
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #16 (permalink)  
Antiguo 06/01/2012, 21:14
 
Fecha de Ingreso: enero-2010
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema con $_GET

Cita:
Iniciado por Nemutagk Ver Mensaje
claro que se entiende, pero, te has dado cuenta QUE NO TIENES NUNGUN CAMPO con el nombre "pj" y mucho menos enviado via GET, así JAMAS te va a guardar dicho dato porque no lo estas mandando, agrega dicho campo o un radio button, o mejor aun crea una página especifica para eso
Estoy intentando de otra forma:

Formulario

Código:
    <form name="cambiar" action="ingresou.php" method="post"/>
        <dt><label>N° PJ:</label></dt>
        <input type='text' name='skins' /><br /><br />
        
        <dt><label>Nick:</label></dt>
        <input type='text' name='name' /><br /><br />
        
        <input type="submit" name="registrarse3" style="width:100px;" tabindex="6" value="Cambiar" />
    </form>
Codigo PHP.

Código:
<?php
include("i_connection2.php");

if(isset($_POST['registrarse3']))//Vallidamos que el formulario fue enviado
{   
	$pj= $_POST['skins'];
	$name= $_POST['name'];
        mysql_query("UPDATE 'users' SET 'skin'=$pj WHERE $name='name'");
}
?>

Lo que quiero hacer con este formulario es lo siguiente.. Que al ingresar el numero de skin por ejemplo 2, e ingresar el Nick al usuario que se lo quiero cambiar se reemplaze el valor de skin por el nuevo valor que sera 2.

Pero no lo reemplaza porque sera ?
  #17 (permalink)  
Antiguo 06/01/2012, 22:14
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Problema con $_GET

Sin ofender, pero necesitas un curso de SQL y PHP....

No te cambia el dato porque esta mal la sentencia SQL...

Código PHP:
Ver original
  1. //Como lo tienes
  2. mysql_query("UPDATE 'users' SET 'skin'=$pj WHERE $name='name'");
  3.  
  4. //Como debe de ser
  5. mysql_query("UPDATE 'users' SET skin='".$pj."' WHERE name='".$name."'");
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #18 (permalink)  
Antiguo 06/01/2012, 22:56
 
Fecha de Ingreso: enero-2010
Mensajes: 18
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema con $_GET

Jaja es verdad, no te procupes no me ofendes ya se que necesito leer un curso por algo pido ayuda :)

Cambie por como pusiste y le agrege el (mysql_error()); por si me tira algun error y me salio esto:

Query was empty.

Mira el codigo de donde yo saque la base de todo esto es este:

Código:
<?php
session_start();

if (isset($_GET['pj'])) 
{

$usuario = $_SESSION['usuario'];
$pj = stripslashes(trim($_GET["pj"]));


$query2 = "UPDATE cuentas SET skin='$pj' WHERE Nick='$usuario' AND Contrasena='$pp'";
@mysql_query($query2);
}

?>
Pero no se bien que tendria que reemplazar de ahi por ejemplo la tabla se llama users, el skin es igual que ahi en la consulta, el Nick yo lo tengo como name y la Contraseña como password, pero igual modificando asi los datos no me anda, ya me esta haciendo doler la cabeza !! jaja

Mas adelante si no funciona subo el archivo u.u

Etiquetas: imagenes, mysql
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 04:26.