• 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.


  • User

    Il campo Utilizzatore è la chiave... Se tu mi metti anche la checkbox allora ti adorerò per sempre! Almeno togliamo anche strumenti! 😄


  • ModSenior

    Dipende che tipo di chiave è.
    Qualcosa non mi quadra, puoi postarmi la query di creazione della tabella?
    Il checkbox va bene se hai più di un record mostrato, ma se usi un chiave primaria che senso ha? :mmm:


  • User

    Un Utilizzatore può utilizzare più strumenti! Per questo ce l'ho bisogno! Va' bene lo stesso se ti do solo le caratteristiche principali?


  • ModSenior

    Se un utilizzatore può usare più strumenti il campo Utilizzatore non è chiave primaria, ma è chiave esterna. La tabella strumenti deve comunque avere una chiave primaria.
    Dovresti postarmi proprio la query che hai usato perchè creo che tra quello che stai facendo tu, e quello che dovevi ottenere c'è qualche leggera differenza e non riesco a scriverti il codice esatto da utilizzare.