Ayuda con update php

tengo un programa que cuando se ejecuta una condición te manda a una pagina , la cual actualiza y hace un registro en dicha columna, el problema es que cuando se cumple la condición y se llega a la pagina no se crea el registro en la base de datos, aquí dejo mi código para explicar mejor:

condición:

if('<?php echo $gen; ?>' == 1)
{
location.href = "aciertos1.php"
}

pagina aciertos1.php:

//previa conexión a base de datos

$usuario1 = "";
$usuario1 = $_SESSION['usuarioactual'];
$acierto = 1;

$registrando = mysql_query("UPDATE 'registros' SET ac = '".$acierto."' WHERE 'nombre'='".$usuario1."'");

espero su pronta respuesta, gracias, puntuare bien.

1 respuesta

Respuesta
1

Dos cosas,

No es mejor que esta acción la gatille un submit de formulario que un location. ¿Href?

Segundo, cuando trabajas con sesiones de php tienes que recordar que antes en la primera línea del script tienes que utilizar la función session_start.

Trata de hacer un echo del string de la consulta para saber que datos está intentando cargar a la base de datos.

lo que pasa es que no solo sera un documento el que cumpla la misma acción, serán varios, se puede hacer diversos submit?

y ya antepuse la función session_start(); y sigue sin dar resultados.

y me podrías decir el código para mostrar el string?, ya que aparentemente lo hago pero no muestra nada.

cual crees que sea el problema?

saludos!!

Pueden haber varios submit si existen varios formularios.

Me interesa conocer el resultado del echo al string de la query, así podré ver que estás enviando a la base de datos y la razón de porque no se actualiza.

Si verificas cualquier error me lo envías.

para pedir el echo al string de la query solamente seria así ? :

echo $registrando;

ya que eso hago y no sale nada absolutamente

No. Lo que sucede es que estas registrando el resultado de la función mysql.

Haz esto:

echo "UPDATE 'registros' SET ac = '".$acierto."' WHERE 'nombre'='".$usuario1."'";
$registrando = mysql_query("UPDATE 'registros' SET ac = '".$acierto."' WHERE 'nombre'='".$usuario1."'");

mira, esto es lo que sale :

UPDATE 'registros' SET ac = '1' WHERE 'nombre'=''

así tal cual es como sale.

En que situación asignas el valor a la variable $_SESSION['usuarioactual']?

Eso me dará luces de que valor tendría que traer la variable.

la asigno cuando el usuario logra entrar correctamente al sistema, es decir si el usuario existe y la contraseña es correcta

El problema es que en algún momento esa variable se está borrando y desconozco el flujo completo de tu sistema.

Es muy importante que en todas las páginas por donde pase el usuario esté la función session_start() ya que esta mantiene vivas las variables de session que hemos hablado.

Ese debe de ser el problema, ya que en dos pagina omito el session_start(), pero no lo consideraba necesario, pero de ser así, ¿se lo debo agregar a las paginas por donde pase el usuario?, ¿nada más le debo agregar session_start() al comienzo de la pagina?.

Así es.

Tal cual lo has dicho. Agrega session_start y valida cada página por donde pase el usuario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas