Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    93

    problema con modifica lista utenti

    ciao raga, ho fatto un modulo di iscrizione, dove si possono inserire nuovi iscritti e dove si possono anche visualizzarli

    questa è la visualizzazione dei dati presi dal modulo:



    <html>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">



    <tr>
    <td colspan="6">
    <div align="center"><font color="#0000FF">Lettura righe della tabella
    iscritti
    </font></div>
    </td>
    </tr>




    <tr>
    <td>
    <div align="center">Id</div>
    </td>
    <td>
    <div align="center">Nome</div>
    </td>
    <td>
    <div align="center">Cognome</div>
    </td>
    <td>
    <div align="center">Email</div>
    </td>
    <td>
    <div align="center">Città</div>
    </td>
    <td>
    <div align="center">Gestione</div>
    </td>



    <?php

    $db_username = 'root';
    $db_password = '';
    $db_host = '127.0.0.1';

    $link = mysql_connect("$db_host", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    mysql_select_db('iscrizione') or die("Errore apertura database: " . mysql_error());
    $strsql = "SELECT * FROM iscritti";
    $rs = @mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());

    while ($riga = mysql_fetch_array($rs)) {
    $str_id = $riga['id'];
    $str_nome = $riga['nome'];
    $str_cognome = $riga['cognome'];
    $str_email = $riga['email'];
    $str_citta = $riga['citta'];

    echo "<tr><td>$str_id</td><td>$str_nome</td><td>$str_cognome</td><td> $str_email</td><td>$str_citta</td><td>
    <a href=\"aggiorna.php?id=$str_id\">Modifica</a></td></tr>";
    }
    ?>


    </table>
    </body>
    </html>


    ora per modificare quando clicco su "modifica" mi da errore,il link modifica ho messo questo modulo:

    <form method="post" action="aggiorna.php?id=3">


    Nome: <input type="text" size="10" name="nome" value=" ">

    Cognome <input type="text" size="10" name="cognome" value=" ">

    Email <input type="text" size="10" name="email" value=" ">

    <input type="submit" value="Modifica">
    </form>

    non so che mettere in "value" per richiamare esattamente la riga che voglio
    poi in aggiorna ho messo:

    <?php
    $db_username = 'root';
    $db_password = '';
    $db_host = '127.0.0.1';

    $link = mysql_connect("$db_host", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    mysql_select_db('iscrizione') or die("Errore apertura database: " . mysql_error());

    $strsql = "UPDATE iscritti SET nome='" . $_POST['nome'] . "', cognome='" . $_POST['cognome'] . "', email='" . $_POST['email'] . "' WHERE idiscritto = " . $_POST['id'];

    $rs = @mysql_query("$strsql",$link) or die("Errore query
    echo "Dati aggiornati";

    ?>


    Il mio problema è :

    1 che nel form di modifica richiamare i valori della riga in questione;
    2 come impostare il link modifica.php?id=COSAMETTEREQUI in modo da non inserire manualmente ogni id


    non so se mi sono spiegato bene,sono un po' confuso anch'io

  2. #2
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    93
    per il link apposto non mi ero accordo che già stava apposto cioè

    <a href=\"aggiorna.php?id=$str_id\">Modifica</a>

    ma per modificare la riga?

  3. #3
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Fai nuovamente una select mettendo nella WHERE l'id che gli passi
    SELECT * FROM iscritti WHERE id='$str_id'

    Altrimenti dovresti mettere tutti i dati, ad esempio, in un array multidimensinale.
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  4. #4
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    93
    ok ma quando clicco su modifica
    <a href=\"aggiorna.php?id=$str_id\">Modifica</a>

    mi va direttamente al "motore" che dovrebbe gestire gli aggiornamenti e non nel form


  5. #5
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    93
    no mi da errore

    provo a rispiegarmi perchè rileggendomi non ci ho capito niente nemmeno io
    allora:

    ho una lista che mostra tutti gli utenti iscritti eccola qua

    codice:
    <?php
    $ip=$_SERVER['REMOTE_ADDR'];
    
    echo "Il mio indirizzo ip è $ip";
    $db_username = 'root';
    $db_password = '';
    $db_host = '127.0.0.1';
    
    $link = mysql_connect("$db_host", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    mysql_select_db('iscrizione') or die("Errore apertura database: " . mysql_error());
    $strsql = "SELECT * FROM iscritti";
    $rs = @mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    
    while ($riga = mysql_fetch_array($rs)) {
    $str_id = $riga['id'];
    $str_nome = $riga['nome'];
    $str_cognome = $riga['cognome'];
    $str_email = $riga['email'];
    $str_citta = $riga['citta'];
    
    echo "<tr><td>$str_id</td><td>$str_nome</td><td>$str_cognome</td><td> $str_email</td><td>$str_citta</td><td>
    <a href=\"aggiorna.php?id=$str_id\ ">Modifica</a> <a href=\"cancella.php?id=$str_id\">Cancella</a></td></tr>";
    }
    ?>
    QUANDO CLICCO su aggiorna mi va direttamente sul "motore" che gestisce i dati modificati ,quindi non ha senso.
    La pagina con il form è questa

    form_modifica.html

    codice:
     <html>
        <body>
    
    
    
    <form method="post" action="aggiorna.php">
    <input type="hidden" name="id" value="3">
    Nome: <input type="text" size="10" name="nome" value=? >
    
    Cognome <input type="text" size="10" name="cognome" value=? >
    
    Email <input type="text" size="10" name="email" value=? >
    
    <input type="submit" value="Modifica">
    </form>
        </body>
    </html>

    è ANCHE QUI cè il problema che l'id lo devo impostare manualmente


    Quindi che link mettere su

    <a href=\"aggiorna.php?id=$str_id\ ">Modifica</a> ?

    è come mettere, forse delle variabili, che prendono i dati della riga in questione?

  6. #6
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    No scusa, c'è qualcosa che non va, tu hai una pagina che ti stampa tutti i dati di tutti gli iscritti e di fianco ad ogni riga hai il pulsante per modificare i dati di quella persona così
    codice:
    ID            NOME           COGNOME
    1             mario               rossi                  MODIFICA
    2             antonio           bianchi                MODIFICA
    3             luigi                 verdi                  MODIFICA
    Però i campi ID, NOME, COGNOME fanno parte di un form o sono solo stampati a video?
    Da quello che leggo qui
    Codice PHP:
    echo "<tr><td>$str_id</td><td>$str_nome</td><td>$str_cognome</td><td>  $str_email</td><td>$str_citta</td><td> <a href=\"aggiorna.php?id=$str_id\">Modifica</a></td></tr>"
    direi che sono solo stampati a video e quindi da questa pagina non puoi lanciare direttamente lo script di UPDATE dei dati sul db perchè cosa ci metti nell'UPDATE? come fai da questa pagina ad inserire i dati aggiornari? Quindi quello che ti stavo dicendo è: questa è la pagina che stampa a video i dati, clicchi su modifica, vai in un'altra pagina dove i medesimi dati (ma solo dell'utente corrispondente all'id del pulsante modifica che hai cliccato) vengono messi un un form e quindi ora puoi modificarli; in questa pagina avrai un altro pulsante MODIFICA e cliccando su di esso potrai finalmente fare un UPDATE!
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  7. #7
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    93
    la pagina per fare l'update è un'altra questa:


    aggiorna.php

    codice:
    <?php
    $db_username = 'root';
    $db_password = '';
    $db_host = '127.0.0.1';
    
    $link = mysql_connect("$db_host", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    mysql_select_db('iscrizione') or die("Errore apertura database: " . mysql_error());
    
    $strsql = "UPDATE iscritti SET nome='" . $_POST['nome'] . "', cognome='" . $_POST['cognome'] . "', email='" . $_POST['email'] . "' WHERE id = " . $_POST['id'];
    
    $rs = @mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    echo "Dati aggiornati";
    
    ?>
    il problema è come la lancio dalla lista utenti col tasto modifica?

    il collegamento è questo :
    codice:
    <a href=\"aggiorna.php?id=$str_id\">Modifica</a>
    però mi fa andare direttamente su aggiorna.php invece che sul form_modifica.html

    cioè non cè proprio una connesione logica,perchè mi fa questo:

    lista_utenti.php------>aggiorna.php(dove sta l'update)

    invece mi dovrebbe fare:

    lista_utenti.php ---> form_modifica.html----->aggiorna.php

  8. #8
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Allora, una cosa per volta.
    pagina che ti mostra i dati degli utenti:
    Codice PHP:
    <?php
    $ip
    =$_SERVER['REMOTE_ADDR'];

    echo 
    "Il mio indirizzo ip è $ip";
    $db_username 'root';
    $db_password '';
    $db_host '127.0.0.1';

    $link mysql_connect("$db_host""$db_username""$db_password") or die("Errore connessione: "mysql_error());
    mysql_select_db('iscrizione') or die("Errore apertura database: " mysql_error());
    $strsql "SELECT * FROM iscritti";
    $rs = @mysql_query("$strsql",$link) or die("Errore query database: " mysql_error());

    while (
    $riga mysql_fetch_array($rs)) {
    $str_id $riga['id'];
    $str_nome $riga['nome'];
    $str_cognome $riga['cognome'];
    $str_email $riga['email'];
    $str_citta $riga['citta'];

    echo 
    "<tr><td>$str_id</td><td>$str_nome</td><td>$str_cognome</td><td> $str_email</td><td>$str_citta</td><td>
    <a href=\"aggiorna.php?id=
    $str_id\ ">Modifica</a> <a href=\"cancella.php?id=$str_id\">Cancella</a></td></tr>";
    }
    ?>
    Quando clicchi su modifica vai alla pagina aggiorna.php
    eccola qui:
    Codice PHP:
    <?php
    $db_username 
    'root';
    $db_password '';
    $db_host '127.0.0.1';

    $id $_GET['id'];

    $link mysql_connect("$db_host""$db_username""$db_password") or die("Errore connessione: "mysql_error());
    mysql_select_db('iscrizione') or die("Errore apertura database: " mysql_error());

    $strsql "SELECT * FROM iscritti WHERE id='$id'";
    $rs = @mysql_query("$strsql",$link) or die("Errore query database: " mysql_error());

    $riga mysql_fetch_array($rs);

    $str_nome $riga['nome'];
    $str_cognome $riga['cognome'];
    $str_email $riga['email'];
    $str_citta $riga['citta'];
    ?>
    <form method="post" action="modifica.php">
    <input type="hidden" name="id" value="<? echo $id?>">
    Nome: <input type="text" size="10" name="nome" value="<? echo $str_nome?>" >

    Cognome <input type="text" size="10" name="cognome" value="<? echo $str_cognome?>" >

    Email <input type="text" size="10" name="email" value="<? echo $str_email?>" >

    <input type="submit" value="Modifica">
    </form>
    cliccando su modifica vai alla pagina modifica.php
    eccola
    Codice PHP:
    $db_username 'root';
    $db_password '';
    $db_host '127.0.0.1';

    $link mysql_connect("$db_host""$db_username""$db_password") or die("Errore connessione: "mysql_error());
    mysql_select_db('iscrizione') or die("Errore apertura database: " mysql_error());

    $id           =  $_POST['id'];
    $nome      =  $_POST['nome'];
    $cognome =   $_POST['cognome'];
    $mail        =  $_POST['email'];


    $strsql "UPDATE iscritti SET nome = '$nome', cognome = '$cognome', mail = '$email' WHERE id='$id'";
    $rs = @mysql_query("$strsql",$link) or die("Errore query database: " mysql_error()); 
    tadaaaaaaaaaaaan
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

  9. #9
    Utente bannato
    Registrato dal
    Apr 2005
    Messaggi
    93
    ok andy ci siamo quasi

    pero' cosi è giusto?

    Nome: <input type="text" size="10" name="nome" value="<?=$str_nome?>" >


    mi restituisce esattamente questo valore <?=$str_nome?>" e non il nome effettivo associato alla riga

  10. #10
    Utente di HTML.it L'avatar di Andy_87
    Registrato dal
    Jun 2010
    Messaggi
    323
    Prova così:
    Codice PHP:
    <input type="text" size="10" name="nome" value="<? echo $str_nome;?>" >
    "Se non riuscirò a piegare gli dei del cielo, smuoverò le potenze dell'inferno"
    S. Freud

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.