• ModSenior

    Ciao SantuzzoHendrix,
    invece di:
    [php]
    $q = mysql_query("SELECT * FROM strumenti WHERE Utilizzatore = '$_GET['utilizz']';";
    [/php]Devi mettere:
    [php]
    $q = mysql_query("SELECT * FROM strumenti WHERE Utilizzatore = ".$_GET['utilizz']);
    [/php]


  • User

    Ciao!
    L'errore precedente è sparito!
    Ora però ne sono comparsi altri...

    Notice: Undefined variable: _SESSION in C:\xampp\htdocs\database\confirm-cancel.php on line 18

    Notice: Undefined variable: postcode in C:\xampp\htdocs\database\confirm-cancel.php on line 18

    Notice: Undefined variable: _SESSION in C:\xampp\htdocs\database\confirm-cancel.php on line 18

    Notice: Undefined variable: postcode in C:\xampp\htdocs\database\confirm-cancel.php on line 18

    Notice: Undefined index: utilizz in C:\xampp\htdocs\database\confirm-cancel.php on line 20

    Notice: Undefined variable: utilizz in C:\xampp\htdocs\database\confirm-cancel.php on line 21

    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\database\confirm-cancel.php on line 21


  • ModSenior

    Quel codice non può funzionare in quanto la sessione non è avviata, devi mettere session_start(); come prima riga del codice.
    Inoltre non è sempre detto che si arrivi a quella pagina passando per quella che ti setta le variabili di sessione, per cui bisognerebbe fare dei controlli in base a ciò che devi fare.
    Ma perchè devi usare queste variabili di sessione in questo modo? E la variabile GET arriva dal modulo di un altra pagina o hai sbagliato la query?


  • User

    La variabile GET arriva da una pagina PHP precedente... Può darsi che sia quello che disturbi il tutto?


  • User

    Anche mettendo la session_start(); non parte... Uff... :arrabbiato: :arrabbiato: :arrabbiato: :arrabbiato:


  • ModSenior

    E perchè usi session e get mischiati?
    Dovresti postare il codice di entrambe le pagine in maniera completa, perchè penso stai mischiando parecchie cose, e cosi non riesco a capire cosa stai facendo.


  • User

    Ti invio la prima pagina PHP... Riusciresti a sistemarmela?


  • ModSenior

    Se le posti qui entrambe, risolviamo sicuramente.


  • User

    Questa è la prima!

    <html lang="en">
    <head>
    <title>Cancellazione strumenti</title>
    </head>
    <body>
    <marquee width="100%" direction="left" scrollamount="8"><img src="img/logo.jpg" /></marquee>
    <?php
    $conn = mysql_connect("localhost","root","");
    if (!$conn)
    {
    die('Connessione mancata con il root. Errore: ' . mysql_error());
    }
    $select = mysql_select_db("sabicom",$conn);
    if (!$select)
    {
    die("Errore nella connessione con il database. Errore: " . mysql_error());
    }
    $utiliz = trim($_POST['utiliz']);
    session_start();
    $_SESSION["utiliz"] = $utilizz;
    session_register("utiliz");
    $strum = trim($_POST['strum']);
    session_start();
    $_SESSION["strum"] = $strume;
    session_register("strum");
    $sql = "SELECT * FROM strumenti WHERE Utilizzatore = '$utiliz' AND Strumento = '$strum';";
    $result = mysql_query($sql, $conn);
    if (!$result)
    {
    die('Errore durante il trasferimento dei dati');
    }
    $num=mysql_numrows($result);
    mysql_close();
    ?>
    <table border="1" align="center" bordercolor="lightblue">
    <tr>
    <td align="center">Fornitore</td>
    <td align="center">Assistenza</td>
    <td align="center">Utilizzatore</td>
    <td align="center">Strumento</td>
    <td align="center">Marca</td>
    <td align="center">Modello</td>
    <td align="center">Descrizione</td>
    <td align="center">Venduto / Dismesso</td>
    <td align="center">Data di acquisizione</td>
    </tr>
    <?php
    $i=0;
    while ($i < $num) {
    $fornitore=mysql_result($result,$i,"Fornitore");
    $assistenza=mysql_result($result,$i,"Assistenza");
    $utilizzatore=mysql_result($result,$i,"Utilizzatore");
    $strumento=mysql_result($result,$i,"Strumento");
    $marca=mysql_result($result,$i,"Marca");
    $modello=mysql_result($result,$i,"Modello");
    $descrizione=mysql_result($result,$i,"Descrizione");
    $vend_dism=mysql_result($result,$i,"Venduto_Dismesso");
    $data_acquis=mysql_result($result,$i,"Data_acquisizione");
    ?>
    <tr>
    <td align="center"><?php echo $fornitore ?></td>
    <td align="center"><?php echo $assistenza ?></td>
    <td align="center"><?php echo $utilizzatore ?></td>
    <td align="center"><?php echo $strumento ?></td>
    <td align="center"><?php echo $marca ?></td>
    <td align="center"><?php echo $modello ?></td>
    <td align="center"><?php echo $descrizione ?></td>
    <td align="center"><?php echo $vend_dism ?></td>
    <td align="center"><?php echo $data_acquis ?></td>
    </tr>
    <?php
    $i++;
    }
    ?>
    <form method="post" action="confirm-cancel.php">
    <input type="submit" value="Elimina selezionati" />
    </form>
    <br />
    <br />
    <form method="post" action="index.html">
    <div align="right"><input type="submit" value="Vai alla pagina principale" /></div>
    </form>
    </body>
    </html>

    La seconda la trovi alla pagina precedente!


  • ModSenior

    Sto sistemando le pagine, però la pagina che hai appena postato prende dei dati con il metodo POST, ma il form da cui arrivano dov'è?


  • User

    Eccola qua!

    <html lang="en">
    <head>
    <title>Cancellazione strumenti</title>
    </head>
    <body>
    <marquee width="100%" direction="left" scrollamount="8"><img src="img/logo.jpg" /></marquee>
    <form method="post" action="cancel.php">
    <table border="0" align="center">
    <tr>
    <td align="center">Utilizzatore ></td>
    <td align="center"><input type="text" name="utiliz" /></td>
    </tr>
    <tr>
    <td align="center">Strumento ></td>
    <td align="center"><input type="text" name="strum" /></td>
    </tr>
    <tr>
    <td align="center"><input type="submit" value="Invia dati al database" /></td>
    <td align="center"><input type="reset" value="Cancella dati nei box" /></td>
    </tr>
    </table>
    </form>
    <br />
    <br />
    <form method="post" action="index.html">
    <div align="right"><input type="submit" value="Vai alla pagina principale" /></div>
    </form>
    </body>
    </html>

    Come posso ringraziarti? 😄


  • ModSenior

    Allora la pagina 1, un pò snellita anche se la tabella si poteva fare più semplicemente diversamente:
    [php]
    <?php
    session_start();
    $conn = mysql_connect("localhost","root","") or die('Connessione mancata con il root. Errore: ' . mysql_error());
    $select = mysql_select_db("sabicom",$conn) or die("Errore nella connessione con il database. Errore: " . mysql_error());
    ?>
    <html lang="en">
    <head>
    <title>Cancellazione strumenti</title>
    </head>
    <body>
    <marquee width="100%" direction="left" scrollamount="8"><img src="img/logo.jpg" /></marquee>
    <?php
    if(isset($_POST['utiliz']))
    $utiliz = trim($_POST['utiliz']);
    else
    die('Input mancante');

    if(isset($_POST['strum']))
    $strum = trim($_POST['strum']);
    else
    die('Input mancante');

    $sql = "SELECT * FROM strumenti WHERE Utilizzatore = '".mysql_real_escape_string($utiliz)."' AND Strumento = '".mysql_real_escape_string($strum)."'";
    $result = mysql_query($sql, $conn);
    if(!$result)
    {
    die('Errore durante il trasferimento dei dati');
    }
    $num=mysql_numrows($result);
    mysql_close();
    ?>
    <table border="1" align="center" bordercolor="lightblue">
    <tr>
    <td align="center">Fornitore</td>
    <td align="center">Assistenza</td>
    <td align="center">Utilizzatore</td>
    <td align="center">Strumento</td>
    <td align="center">Marca</td>
    <td align="center">Modello</td>
    <td align="center">Descrizione</td>
    <td align="center">Venduto / Dismesso</td>
    <td align="center">Data di acquisizione</td>
    </tr>
    <?php
    $i=0;
    while ($i < $num) {
    $fornitore=mysql_result($result,$i,"Fornitore");
    $assistenza=mysql_result($result,$i,"Assistenza");
    $utilizzatore=mysql_result($result,$i,"Utilizzator e");
    $strumento=mysql_result($result,$i,"Strumento");
    $marca=mysql_result($result,$i,"Marca");
    $modello=mysql_result($result,$i,"Modello");
    $descrizione=mysql_result($result,$i,"Descrizione" );
    $vend_dism=mysql_result($result,$i,"Venduto_Dismes so");
    $data_acquis=mysql_result($result,$i,"Data_acquisi zione");
    ?>
    <tr>
    <td align="center"><?php echo $fornitore ?></td>
    <td align="center"><?php echo $assistenza ?></td>
    <td align="center"><?php echo $utilizzatore ?></td>
    <td align="center"><?php echo $strumento ?></td>
    <td align="center"><?php echo $marca ?></td>
    <td align="center"><?php echo $modello ?></td>
    <td align="center"><?php echo $descrizione ?></td>
    <td align="center"><?php echo $vend_dism ?></td>
    <td align="center"><?php echo $data_acquis ?></td>
    </tr>
    <?php
    $i++;
    }
    ?>
    <form method="post" action="confirm-cancel.php">
    <input type="hidden" name="utiliz" value="<?php echo $utiliz; ?>" />
    <input type="hidden" name="strum" value="<?php echo $strum; ?>" />
    <input type="submit" value="Elimina selezionati" />
    </form>
    <br />
    <br />
    <form method="post" action="index.html">
    <div align="right"><input type="submit" value="Vai alla pagina principale" /></div>
    </form>
    </body>
    </html>
    [/php]

    La pagina 2, come base va bene questa:
    [php]
    <?php
    session_start();
    $conn = mysql_connect("localhost","root","") or die('Connessione mancata con il root. Errore: ' . mysql_error());
    $select = mysql_select_db("sabicom", $conn) or die("Errore nella connessione con il database. Errore: " . mysql_error());
    ?>
    <!DOCTYPE html>
    <head>
    <title>Conferma cancellazione</title>
    </head>
    <body>
    <marquee width="100%" direction="left" scrollamount="8"><img src="img/logo.jpg" /></marquee>
    <?php
    if(isset($_POST['utiliz']))
    $utiliz = trim($_POST['utiliz']);
    else
    die('Input mancante');

    if(isset($_POST['strum']))
    $strum = trim($_POST['strum']);
    else
    die('Input mancante');
    ?>
    <br />
    <br />
    <form method="post" action="index.html">
    <div align="right"><input type="submit" value="Vai alla pagina principale" /></div>
    </form>
    </body>
    </html>
    [/php]

    In pagina 2 (confirm-cancel.php) dovresti avere un pulsante di conferma eliminazione da quanto ho capito giusto?


  • User

    Si, teoricamente si...
    Il problema che non ho idea di come gestirla!


  • ModSenior

    Adesso ti posto io il codice, rimane un ultimo problema l'ultima pagina che mi hai postato punta a cancel.php, che ti può trovare ad esempio 4 dati diversi. Tu dovresti fare in quel caso 4 form per cancellare singolarmente un dato, in questo modo non puoi.
    Hai fatto parecchia confusione all'inizio.


  • User

    La pagina che punta a cancel.php è la pagina html iniziale, dove inserisco i valori! Quella è una pagina statica!


  • ModSenior

    Mi serve il nome della chiave primaria della tabella strumenti.


  • User

    Utilizzatore è la chiave! Grazie 1000! Mi stai dando una grossissima mano!


  • ModSenior

    Se Utilizzatore è la chiave primaria, perchè stiamo usando anche strumento? Non è necessario.


  • User

    Strumento è fondamentale... Serve per fare una selezione ulteriore durante la visualizzazione!


  • ModSenior

    Se c'è già la condizione con la chiave primaria è inutile, in quanto la chiave primaria deve per forza identificare univocamente un record. O non è quella la chiave primaria o stavi utilizzando un campo inutile.