Foros del Web » Programando para Internet » PHP »

PHP OO Como solucionar índice indefinido

Estas en el tema de Como solucionar índice indefinido en el foro de PHP en Foros del Web. Hola amigos necesito que me ayuden, estoy empezando en el mundo del desarrollo web y estudiando me tope con el siguiente problema. Al momento de ...
  #1 (permalink)  
Antiguo 08/01/2016, 08:59
 
Fecha de Ingreso: septiembre-2015
Ubicación: Chimbote
Mensajes: 1
Antigüedad: 8 años, 7 meses
Puntos: 0
Pregunta Como solucionar índice indefinido

Hola amigos necesito que me ayuden, estoy empezando en el mundo del desarrollo web y estudiando me tope con el siguiente problema. Al momento de registrar los valores ingresados a un formulario, este me devuelve un mensaje "Notice: Undefined index" por ende los datos ingresados no se cargan en la tabla y esta queda en blanco. este es el código:

Código PHP:
<?php

session_start
();

//----------------->Crear variables

$usuario $_SESSION['usuario'];
$contrasena $_SESSION['contrasena'];

$addtitulo$_POST['titulo'];
$adddireccion$_POST['direccion'];
$addcategoria$_POST['categoria'];
$addcomentario$_POST['comentario'];
$addvaloracion$_POST['valoracion'];

//----------------->Conexión

$conexion sqlite_open('favoritos.db');

//----------------->Preparar contenido

$consulta =
<<<SQL
INSERT INTO favoritos VALUES
('$usuario','$contrasena', '$addtitulo', '$adddireccion', '$addcategoria', '$addcomentario', '$addvaloracion')
SQL;

//----------------->Insertar contenido a la tabla

$resultado sqlite_exec($conexion$consulta);

//----------------->Cerrar la conexión

sqlite_close($conexion);

//----------------->Y vuelvo

echo '
<html>
    <head>
        <meta http-equiv="REFRESH" content="0;url=principal.php">
    </head>
</html>
'
;

?>
  #2 (permalink)  
Antiguo 08/01/2016, 09:23
 
Fecha de Ingreso: enero-2016
Mensajes: 71
Antigüedad: 8 años, 3 meses
Puntos: 14
Respuesta: Como solucionar índice indefinido

Hola,

En realidad tienes 2 problemas.
1. Deberias utilizar isset para ver si una variable existe antes de utilizarla
2. Escapar el input que viene de fuera.

Prueba con esto:
Código PHP:
//-----------------> Crear variables - Usar siempre SQLite3::escapeString 
$usuario       = isset($_SESSION['usuario'])    ? SQLite3::escapeString($_SESSION['usuario'])    : '';
$contrasena    = isset($_SESSION['contrasena']) ? SQLite3::escapeString($_SESSION['contrasena']) : '';

$addtitulo     = isset($_POST['titulo'])     ? SQLite3::escapeString($_POST['titulo'])     : '';
$adddireccion  = isset($_POST['direccion'])  ? SQLite3::escapeString($_POST['direccion'])  : '';
$addcategoria  = isset($_POST['categoria'])  ? SQLite3::escapeString($_POST['categoria'])  : '';
$addcomentario = isset($_POST['comentario']) ? SQLite3::escapeString($_POST['comentario']) : '';
$addvaloracion = isset($_POST['valoracion']) ? SQLite3::escapeString($_POST['valoracion']) : '';

//-----------------> Conexión
$conexion sqlite_open('favoritos.db'); 
Mmmm, por si no sabes lo que significa
Código PHP:
$var condicion true false
Es lo mismo que si haces:
Código PHP:
if (condicion) {
    
$var true;
} else {
    
$var false;

Un saludo,

Etiquetas: sqlite
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 08:21.