because the variable "valuation" tells me that it is undefined (php)

1

This is the error that appears to me:

  

Notice: Undefined index: valuation in C: \ xampp \ htdocs \ FAVORITES \ deletefavorito.php on line 14

My code:

<?php

session_start();

$conexion = new sqlite3('favoritos.db');

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

$titulo = $_GET['titulo'];
$direccion = $_GET['direccion'];
$categoria = $_GET['categoria'];
$comentario = $_GET['comentario'];
$valoracion = $_GET['valoracion'];

$consulta = "DELETE FROM favoritos WHERE usuario='".$usuario."' AND contrasena='".$contrasena."' AND titulo='".$titulo."' AND direccion='".$direccion."' AND categoria='".$categoria."' AND comentario='".$comentario."' AND valoracion='".$valoracion."'";

$resultado = $conexion->exec($consulta);

$conexion->close();

?>

THIS IS THE OTHER PART WHERE THE COLUMN IS INSERTED:

<?php

session_start();
echo "Tu usuario es: ".$_SESSION['usuario'],"<br />","Tu contraseña es: ",$_SESSION['contrasena'];

//Crear conexion
$conexion = new sqlite3('favoritos.db');

//Establecer una consulta
$consulta = "SELECT * FROM favoritos WHERE usuario='Criss' AND contrasena='Criss';";

//Ejecutar la consulta
$resultado = $conexion->query($consulta);

//Imprimir la consulta
echo "
<table border=1 width=100%>
<tr>
    <td>Titulo</td>
    <td>Direccion</td>
    <td>Categoria</td>
    <td>Comentario</td>
    <td>Valoracion</td>
    <td></td>
    <td></td>
</tr>
";

while ($fila = $resultado->fetchArray()){
    echo "<tr><td>".$fila['titulo']."</td><td>".$fila['direccion']."</td><td>".$fila['categoria']."</td><td>".$fila['comentario']."</td><td>".$fila['valoracion']."</td><td><a href='eliminarfavorito.php?titulo=".$fila['titulo']."&direccion=".$fila['direccion']."&categoria=".$fila['categoria']."&comentario=".$fila['comentario']."&valoracion".$fila['valoracion']."'>Eliminar</a></td><td><a href='formularioactualizar.php?titulo=".$fila['titulo']."&direccion=".$fila['direccion']."&categoria=".$fila['categoria']."&comentario=".$fila['comentario']."&valoracion".$fila['valoracion']."'>Actualizar</a></td></tr>";
}

//Añadir un registro
echo "
<tr>
    <form action='crearfavorito.php' method='POST'>
    <td><input type='text' name='titulo'></td>
    <td><input type='text' name='direccion'></td>
    <td><select name='categoria'>
        <option value='salud'>Salud</option>
        <option value='trabajo'>Trabajo</option>
        <option value='hobby'>Hobby</option>
        <option value='personal'>Personal</option>
        <option value='otros'>Otros</option>
    </td>
    <td><input type='text' name='comentario'></td>
    <td><input type='text' name='valoracion'></td>
    <td><input type='submit'></td><td></td>
</tr>
";

echo "</table>";

//Cerramos la consulta
$conexion->close();

?>
    
asked by Criss 31.07.2017 в 16:28
source

3 answers

0

The problem that is occurring in that you do not initialize the variable that you send in the url:

echo "<tr><td>".$fila['titulo']."</td><td>".$fila['direccion']."</td><td>".$fila['categoria']."</td><td>".$fila['comentario']."</td><td>".$fila['valoracion']."</td><td><a href='eliminarfavorito.php?titulo=".$fila['titulo']."&direccion=".$fila['direccion']."&categoria=".$fila['categoria']."&comentario=".$fila['comentario']."&valoracion".$fila['valoracion']."'>Eliminar</a></td><td><a href='formularioactualizar.php?titulo=".$fila['titulo']."&direccion=".$fila['direccion']."&categoria=".$fila['categoria']."&comentario=".$fila['comentario']."&valoracion".$fila['valoracion']."'>Actualizar</a></td></tr>";

What you should do is put an equal.

&valoracion=".$fila['valoracion']."'>Actualizar</a></td></tr>"
    
answered by 31.07.2017 / 16:52
source
0

This happens to you because sometimes you leave this variable empty:

$valoracion = $_GET['valoracion'];//el get es null

If you must always have some value so that you do not generate errors you could do the following:

$valoracion = ($_GET['valoracion']!=null)? $_GET['valoracion'] : "";

answered by 31.07.2017 в 16:35
0

It is that you are using the POST method to send the form, so if you want to use get, you have to put the method get to the form

echo "
<tr>
    <form action='crearfavorito.php' method='GET'>
    <td><input type='text' name='titulo'></td>
    <td><input type='text' name='direccion'></td>
    <td><select name='categoria'>
        <option value='salud'>Salud</option>
        <option value='trabajo'>Trabajo</option>
        <option value='hobby'>Hobby</option>
        <option value='personal'>Personal</option>
        <option value='otros'>Otros</option>
    </td>
    <td><input type='text' name='comentario'></td>
    <td><input type='text' name='valoracion'></td>
    <td><input type='submit'></td><td></td>
</tr>
;
    
answered by 31.07.2017 в 16:41