• User Attivo

    Notice: Undefined index: luogo in...

    sono neofita ho scri tto già e ora ho cominciato a studiare
    na non ne vuole sapere di girare!! qualcuno mi aiuta????

    grazie in anticipo!!!!

    [HTML]<?php require_once('../Connections/testmp.php'); ?>
    <?
    //error_reporting(E_ALL ^ E_NOTICE);
    $db_host = '';
    $db_user = '';
    $db_pass = '';
    $db_name = '';
    $db_table = '';
    $conn = mysql_connect($db_host,$db_user,$db_pass);
    mysql_select_db($db_name,$conn);
    $luogo = isset($_POST['luogo']) ? $_POST['luogo'] : 0;
    $tipo = isset($_POST['tipo']) ? $_POST['tipo'] : 0;
    if ($luogo == "")
    {$luogo = '%';}
    if ($tipo == "")
    {$tipo = '%';}

    $result = mysql_query("SELECT * FROM interventi WHERE Luogo LIKE '%$luogo%' AND Tipo LIKE '%$tipo%'", $conn);
    if ($row = @mysql_fetch_array($result))
    {
    do
    {
    PRINT "Ho trovato i seguenti risultati: <br><br>";
    PRINT "<b>Luogo: </b> ";
    print $row["luogo"];
    print (" ");
    print ("<br>");
    PRINT "<b>Tipo: </b> ";
    print $row["tipo"];
    print ("<p>");
    print ("<p>");
    }
    while($row = mysql_fetch_array($result));
    }
    else {print "Mi dispiace nessun risultato trovato!";
    }
    ?>[/HTML]


  • User Attivo

    Non sapevo che l'operatore ternario potesse essere settato in una variabile 😕
    poi sinceramte non capisco il motivo .......
    poi obiettivamente ti consiglio di leggere meglio la guida ..... non è che hai scritto molto


  • User

    Si tratta di una struttura errata del ternario:
    $luogo = isset($_POST['luogo']) ? $_POST['luogo'] : 0;

    Il primo elemento dovrebbe essere una condizione, ma qui non lo è, si tratta invece dell'assegnazione a $luogo dell'esistenza o meno di $_POST['luogo'].

    Gli altri due elementi dovrebbero essere delle conseguenze: la prima è valida se la condizione è affermativa, la seconda se non lo è.

    In linguaggio normale quale è il ragionamento che vuoi fare?

    Immagino che tu voglia dire: se hanno compilato il campo luogo, cioè se nelle variabili inviate dalla form c'e' il campo $luogo
    isset($_POST['luogo'])
    Allora inserirne il valore in $luogo
    ? $luogo= $_POST['luogo']
    Altrimenti $luogo = 0
    : $luogo=0;

    Ciao,

    Valeria


  • User Attivo

    Grazie ! ho capito!