• User Newbie

    ho cambiato nome record ma non funziona più nulla

    salve ragazzi,ho cambiato la chiave di ricerca il record da in "ID" ho avuto necessità di cambiarlo in id_sped.
    chi può darmi una mano?

    HO PROVATO IO A CAMBIARE TUTTI GLI ID IN ID_SPED, MA MI STAMPA IL TESTO "ERRORE"

    ID --> id_sped

    il codice PHP è questo

    
    <?php
    /*
    EDIT.PHP
    Consente all'utente di modificare una voce specifica nel database
    */
     
    // crea il form di modifica record
    // dal momento che questo modulo è utilizzato più volte in questo file, ho fatto una funzione facilmente riutilizzabile
    function renderForm($id, $riferimento, $data, $error)
    {
    ?>
    
    
    <html>
    <head>
    <title>Modifica Record</title>
    </head>
    <body>
    <?php
    // se ci sono errori, vengono visualizzati
    if ($error != '')
    {
    echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
    }
    ?>
     
    <form action="" method="post">
    <input type="hidden" name="id" value="<?php echo $id; ?>"/>
    <div>
    <p><strong>ID:</strong> <?php echo $id; ?></p>
    <strong>Rif. Mittente / Centro di costo / Rif. DDT: *</strong> <input type="text" name="riferimento" value="<?php echo $riferimento; ?>"/><br/>
    <strong>data: *</strong> <input type="text" name="data" value="<?php echo $data; ?>"/><br/>
    <p>* Richiesto</p>
    <input type="submit" name="submit" value="Invia">
    </div>
    </form>
    </body>
    </html>
    <?php
    }
     
    // connessione al database
    include('connect-db.php');
     
    // verifica se il modulo è stato inviato. Se lo è, inizia a elaborare il modulo e lo salva nel database
    if (isset($_POST['submit']))
    {
    // verificare che il valore di 'id' sia un intero valido prima di ottenere i dati del modulo
    if (is_numeric($_POST['id']))
    {
    // ottenere i dati del modulo e verific che siano validi
    $id = $_POST['id'];
    $riferimento = mysql_real_escape_string(htmlspecialchars($_POST['riferimento']));
    $data = mysql_real_escape_string(htmlspecialchars($_POST['data']));
     
    // controlla che i campi nome/cognome siano entrambi compilati
    if ($riferimento == '' || $data == '')
    {
    // genera messaggio di errore
    $error = 'ERROR: Please fill in all required fields!';
     
    // errore, visualizzo il modulo
    renderForm($id, $riferimento, $data, $error);
    }
    else
    {
    // salva i dati nel database
    mysql_query("UPDATE players SET riferimento='$riferimento', data='$data' WHERE id='$id'")
    or die(mysql_error());
     
    // una volta salvato, si viene reindirizzati alla pagina di visualizzazione
    header("Location: view.php");
    }
    }
    else
    {
    // Se l' 'id' non è valido, viene visualizzato un errore
    echo 'Error!';
    }
    }
    else
    // se il kodulo non è stato inviato, ottengo i dati dal db e visualizzare il modulo
    {
     
    // ottiene il valore 'id' dall'URL (se esiste), assicurandosi che sia valido (controlla che sia numerico/maggiore di 0)
    if (isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0)
    {
    // query db
    $id = $_GET['id'];
    $result = mysql_query("SELECT * FROM players WHERE id=$id")
    or die(mysql_error());
    $row = mysql_fetch_array($result);
     
    // verifica che l' 'id' corrisponda a una riga nel database
    if($row)
    {
     
    // ottiene i dati dal db
    $riferimento = $row['riferimento'];
    $lastname = $row['lastname'];
     
    // visualizza il modulo
    renderForm($id, $riferimento, $lastname, '');
    }
    else
    // se non corrisponde visualizza il risultato
    {
    echo "Nessun risultato!";
    }
    }
    else
    // se l' 'id' nell'URL non è valido, o se non vi è alcun valore di 'id', visualizza un errore
    {
    echo 'Errore!';
    }
    }
    ?>
    
    

  • User Attivo

    Devi cambiare id in id_sped anche nelle query...


  • User Newbie

    Stampa "Errore!"
    xxxxxx.net/xxxx.php?id=2

    il valore 2 è presente nella colonna id_sped

    ma non va!!!!:x

    <?php
    
    function renderForm($id_sped, $id, $data, $colli, $peso, $riferimento, $riferimentodest, $note, $cell_1, $localita, $indirizzo, $cap, $provincia, $email, $cell_2, $contrassegno, $ora_data, $tracking, $comunicazioni, $error)
    {
    ?>
                    
            <?php
    // se ci sono errori, vengono visualizzati
    if ($error != '')
    {
    echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
    }
    ?>
     
    <form action="" method="post">
    <input type="hidden" name="id_sped" value="<?php echo $id_sped; ?>"/>
    <div>
    <p>il tuo numero univoco di spedizione <span lang="it">è</span> il:<strong> <?php echo $id_sped; ?></strong></p>
    
    
    <p>Il tuo numero cliente <span lang="it">è</span> il:: <strong><?php echo $id; ?></strong><br>
      Vuoi che la tua spedizione sia ritirata il: <strong><?php echo $data; ?></strong><br>
      Questa spedizione contienre i seguenti colli: <strong><?php echo $colli; ?></strong><br>
      Il peso totale della spedizione <span lang="it">è</span> di: <strong><?php echo $peso; ?></strong><br>
      Riferimento Mittente: <strong><?php echo $riferimento; ?></strong><br>
      Riferimento Destinatario: <strong><?php echo $riferimentodest; ?></strong><br>
      Eventuali Note: <strong><?php echo $note; ?></strong><br>
      Contatto del Mittente: <strong><?php echo $cell_1; ?></strong><br>
      Citt<span lang="it">à</span> di consegna: <strong><?php echo $localita; ?></strong><br>
      Indirizzo di consegna: <strong><?php echo $indirizzo; ?></strong><br>
      C.A.P. di consegna: <strong> <?php echo $cap; ?></strong><br>
      Provincia di consegna: <strong><?php echo $provincia; ?></strong><br>
      E-mail del destinatario: <strong><?php echo $email; ?></strong><br>
      Contatto del Destinatario: <strong><?php echo $cell_2; ?></strong><br>
      Il Contrassegno del pacco <span lang="it">è</span> di: <strong><?php echo $contrassegno; ?></strong><br>
      Hai inserito la spedizione nei nostri sistemi: <strong><?php echo $ora_data; ?></strong><br>
      
        Eventuali comunicazioni sulla spedizione: <strong><span class="style2"><?php echo $comunicazioni; ?></span></strong></p>
    <p><p>Stampa la lettera di vettura della tua spedizione<br>
     <a href='' onclick="window.open('LDV.php?ldv=<?php echo $id_sped; ?>','miaFinestra','width=800,height=500, toolbar=no, location=no,status=no,menubar=no,scrollbars=no,resizable=no');">Lettera di vettura</p>
    <br>
    </p>
    
    
    
    
    </div>
    </form>
    
    
    <p>
      <?php
    }
     
    // connessione al database
    include('connect-db.php');
     
    // verifica se il modulo è stato inviato. Se lo è, inizia a elaborare il modulo e lo salva nel database
    if (isset($_POST['submit']))
    {
    // verificare che il valore di 'id' sia un intero valido prima di ottenere i dati del modulo
    if (is_numeric($_POST['id_sped']))
    {
    // ottenere i dati del modulo e verific che siano validi
    $id_sped = $_POST['id_sped'];
    $id = mysql_real_escape_string(htmlspecialchars($_POST['id']));
    $data = mysql_real_escape_string(htmlspecialchars($_POST['data']));
    $colli = mysql_real_escape_string(htmlspecialchars($_POST['colli']));
    $peso = mysql_real_escape_string(htmlspecialchars($_POST['peso']));
    $riferimento = mysql_real_escape_string(htmlspecialchars($_POST['riferimento']));
    $riferimentodest = mysql_real_escape_string(htmlspecialchars($_POST['riferimentodest']));
    $note = mysql_real_escape_string(htmlspecialchars($_POST['note']));
    $cell_1 = mysql_real_escape_string(htmlspecialchars($_POST['cell_1']));
    $localita = mysql_real_escape_string(htmlspecialchars($_POST['localita']));
    $indirizzo = mysql_real_escape_string(htmlspecialchars($_POST['indirizzo']));
    $cap = mysql_real_escape_string(htmlspecialchars($_POST['cap']));
    $provincia = mysql_real_escape_string(htmlspecialchars($_POST['provincia']));
    $email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
    $cell_2 = mysql_real_escape_string(htmlspecialchars($_POST['cell_2']));
    $contrassegno = mysql_real_escape_string(htmlspecialchars($_POST['contrassegno']));
    $ora_data = mysql_real_escape_string(htmlspecialchars($_POST['ora_data']));
    $tracking = mysql_real_escape_string(htmlspecialchars($_POST['tracking']));
    $comunicazioni = mysql_real_escape_string(htmlspecialchars($_POST['comunicazioni']));
    
    
     
    // controlla che i campi nome/cognome siano entrambi compilati
    if ($id == '' || $data == '' || $colli == '' || $peso == '' || $riferimento == '' || $riferimentodest == '' || $note == '' || $cell_1 == '' || $localita == '' || $indirizzo == '' || $cap == '' || $provincia == '' || $email == '' || $cell_2 == '' || $contrassegno == '' || $ora_data == '' || $tracking == '' || $comunicazioni == '')
    {
    // genera messaggio di errore
    $error = 'ERROR: Please fill in all required fields!';
     
    // errore, visualizzo il modulo
    renderForm($id_sped, $id, $data, $colli, $peso, $riferimento, $riferimentodest, $note, $cell_1, $localita, $indirizzo, $cap, $provincia, $email, $cell_2, $contrassegno, $ora_data, $tracking, $comunicazioni, $error);
    }
    else
    {
    // salva i dati nel database
    mysql_query("UPDATE players SET id='$id', data='$data', colli='$colli', peso='$peso', riferimento='$riferimento', riferimentodest='$riferimentodest', note='$note', cell_1='$cell_1', localita='$localita', indirizzo='$indirizzo', cap='$cap', provincia='$provincia', email='$email', cell_2='$cell_2', contrassegno='$contrassegno', ora_data='$ora_data', tracking='$tracking', comunicazioni='$comunicazioni', WHERE id_sped='$id_sped'")
    
    
    
    
    or die(mysql_error());
     
    // una volta salvato, si viene reindirizzati alla pagina di visualizzazione
    header("Location: #");
    }
    }
    else
    {
    // Se l' 'id' non è valido, viene visualizzato un errore
    echo 'Error!';
    }
    }
    else
    // se il kodulo non è stato inviato, ottengo i dati dal db e visualizzare il modulo
    {
     
    // ottiene il valore 'id' dall'URL (se esiste), assicurandosi che sia valido (controlla che sia numerico/maggiore di 0)
    if (isset($_GET['id_sped']) && is_numeric($_GET['id_sped']) && $_GET['id_sped'] > 0)
    {
    // query db
    $id_sped = $_GET['id_sped'];
    $result = mysql_query("SELECT * FROM players WHERE id_sped=$id_sped")
    or die(mysql_error());
    $row = mysql_fetch_array($result);
     
     
     
    
    
     
    // verifica che l' 'id' corrisponda a una riga nel database
    if($row)
    {
     
    // ottiene i dati dal db
    $id = $row['id'];
    $data = $row['data'];
    $colli = $row['colli'];
    $peso = $row['peso'];
    $riferimento = $row['riferimento'];
    $riferimentodest = $row['riferimentodest'];
    $note = $row['note'];
    $cell_1 = $row['cell_1'];
    $localita = $row['localita'];
    $indirizzo = $row['indirizzo'];
    $cap = $row['cap'];
    $provincia = $row['provincia'];
    $email = $row['email'];
    $cell_2 = $row['cell_2'];
    $contrassegno = $row['contrassegno'];
    $ora_data = $row['ora_data'];
    $tracking = $row['tracking'];
    $comunicazioni = $row['comunicazioni'];
     
    // visualizza il modulo
    renderForm($id_sped, $id, $data, $colli, $peso, $riferimento, $riferimentodest, $note, $cell_1, $localita, $indirizzo, $cap, $provincia, $email, $cell_2, $contrassegno, $ora_data, $tracking, $comunicazioni, '');
    }
    else
    // se non corrisponde visualizza il risultato
    {
    echo "Nessun risultato!";
    }
    }
    else
    // se l' 'id' nell'URL non è valido, o se non vi è alcun valore di 'id', visualizza un errore
    {
    echo 'Errore!';
    }
    }
    ?>
    
    
    
    

  • User Attivo

    Tu usi:
    [PHP]$id_sped = $_GET['id_sped'];[/PHP]
    e poi il parametro nel collegamento è id.

    Richiama la pagina con nomefile.php?id_sped=2.


  • User Attivo

    @Eduadie said:

    Tu usi:
    [PHP]$id_sped = $_GET['id_sped'];[/PHP]
    e poi il parametro nel collegamento è id.

    Richiama la pagina con nomefile.php?id_sped=2.

    A parte questo, poi, c'è un casino della madonna.
    Senza identare nulla, buchi di sicurezza ovunque..
    Ma tralasciando la sicurezza perchè credo sia un sito di test questo(spero), identa bene il codice per capire meglio...