Hola
ciscojuan,
Básicamente el problema reside en que cargas la verificación del formulario incluso sin haber recibido nada por POST.
Código PHP:
if($_REQUEST['nombre'] != null && $_REQUEST['valor'] != null //...)
{
//...
En teoría la secuencia sería así:
Código PHP:
// 1. Verifica si hay datos POST.
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// 2. Verificas si todos (los que necesites) traen algún valor. (Traen String, no null)
if($_POST['nombre'] != '' && $_POST['valor'] != '' && $_POST['fecha_publicado'] != '' && $_POST['categoria'] != '')
{
// 3. Verificas si los datos recibidos son los esperados.
// Esto se recomienda para evitar injecciones en la DB. Recomendable usar PDO.
// 4. Preparas los datos para pasarlos a consulta
$nombre = $_POST['nombre'];
$valor = $_POST['valor'];
$fechapublicacion = $_POST['fecha_publicado'];
$valor = $_POST['categoria'];
}
}
// Los pasos 2 y 3 se pueden hacer juntos o uno detrás de otro, depende de lo limpio que quieras tener el código.
// Si esperas datos por POST, mejor trabajar con $_POST.
Prueba y nos cuentas.
Saludos,