Visualizzazione risultati 1 fino 9 di 9

Discussione: Aggiornamento record

  1. #1
    Guest

    Exclamation Aggiornamento record

    Salve, lo so che è uno script stupido, ma non mi ricordo più come cavolo si aggiorna un record.
    Ho una tabella utenti su un database e devo cambiare un record di alcuni utenti, più precisamente desidero impostare il record "user_avatar" per un valore che "avatar.gir" ad alcuni utenti.

    Ho fatto un modulo html dove inserisco l'username e invio la variabile $user

    Codice HTML:
    <form id="user" name="user" method="get" action="1.php">
      <label>Username
      <input name="user" type="text" id="user" />
      </label>
      <label> 
      <input name="user" type="submit" id="user" value="Invia" />
      </label>
    </form>
    che invia alla pagina php con il seguente codice:

    Codice PHP:
    <?php
    $connessione
    = mysql_connect("localhost","****","******")
    or
    die(
    "Connection imposible, please check your permissions");
    mysql_select_db("*********",$connessione);

    // Form Variables
    $post = $_POST;
    $username = $post['user'];
    // Query Variables
    $query = "UPDATE naof_users SET user_avatar = '1revoxlu3s/banned_users.gif' WHERE username = '$user'";
    // Errors variable
    $erroren = mysql_errno();
    $erroret = mysql_error();

    $verifica = mysql_query($query,$connessione);
    if(
    $verifica)
    {echo
    "<p>
    <p>
    <table width=50% border=1 align=center cellpadding=0 cellspacing=0>
    <tr class=messaggio_conf>
    <td>Success.<br>
    Click <a href=1.html>here</a>.</td>
    </tr>
    </table>"
    ;
    else {echo
    "<p>
    <p>
    <table width=50% border=1 align=center cellpadding=0 cellspacing=0>
    <tr class=messaggio_conf>
    <td>No success! error n°
    $errore, $erroret<br>
    Click <a href=1.html>here</a> to return to previous page.</td>
    </tr>
    </table>"
    ;}
    mysql_close($connessione);
    ?>
    ma sembra non funziona, forse sbaglio qualcosa nel codice.
    Cmq sia devo aggiornare il record user_avatar per 100 utenti, avete qualche script da consigliarmi per velocizzare l'operazione?

    Grazie

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Due errori trovati:
    1. stai componendo una query con una variabile $user che non hai definito, forse dovevi scrivere $username...
    2. le funzioni mysql_errno() e mysql_error() andrebbero usate DOPO che hai tentato di eseguire la query (funzione mysql_query() ), non prima...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    Hai fatto parecchi casini allora iniziamo dai più semplici

    Codice HTML:
    <form id="user" name="user" method="get" action="1.php">
      <label>Username
      <input name="user" type="text" id="user" />
      </label>
      <label> 
      <input name="user" type="submit" id="user" value="Invia" />
      </label>
    </form>
    prima cosa ho tolto gli id, che tanto secondo me non servono, poi se metti il submit e il text con lo stesso nome non te lo prenderà mai , e anche se metto methog="get" e poi nel php usi il post anche quì hai poche speranze allora metti questo codice e sei a posto

    Codice HTML:
    <form name="user" method="post" action="1.php">
      <label>Username
      <input name="user" type="text" />
      </label>
      <label> 
      <input name="invia" type="submit" value="Invia" />
      </label>
    </form>
    e fino a quì ci siamo poi nel php

    Codice PHP:
    $post = $_POST;
    $username = $post['user'];
    non ha alcun senso, metti così (anche detto da dementialsite)

    Codice PHP:
    $user = $_POST['user'];
    ul altro è quello che dice dementialsite

    Codice PHP:
    $query = "UPDATE naof_users SET user_avatar = '1revoxlu3s/banned_users.gif' WHERE username = '$user'";
    // Errors variable
    $erroren = mysql_errno();
    $erroret = mysql_error();

    $verifica = mysql_query($query,$connessione);
    if(
    $verifica)
    Gli error vanno dopo

    Codice PHP:
    $query = "UPDATE naof_users SET user_avatar = '1revoxlu3s/banned_users.gif' WHERE username = '$user'";

    $verifica = mysql_query($query,$connessione);
    if(
    $verifica)

    // Errors variable
    $erroren = mysql_errno();
    $erroret = mysql_error();
    andiamo avanti ed ecco un altro reeore (l'ultimo per fortuna :D)

    Codice PHP:
    else {echo "<p>
    che diventa

    Codice PHP:
    }else {echo "<p>
    avevi dimenticato la } prima dell'else

    il codice completo è:

    Codice HTML:
    <form name="user" method="post" action="1.php">
      <label>Username
      <input name="user" type="text" />
      </label>
      <label> 
      <input name="invia" type="submit" value="Invia" />
      </label>
    </form>
    Codice PHP:
    <?php
    $connessione
    = mysql_connect("localhost","*****","*****")
    or
    die(
    "Connection imposible, please check your permissions");
    mysql_select_db("*****",$connessione);

    // Form Variables
    $user = $_POST['user'];
    // Query Variables
    $query = "UPDATE naof_users SET user_avatar = '1revoxlu3s/banned_users.gif' WHERE username = '$user'";

    $verifica = mysql_query($query,$connessione);
    // Errors variable
    $erroren = mysql_errno();
    $erroret = mysql_error();

    if(
    $verifica)
    {echo
    "<p>
    <p>
    <table width=50% border=1 align=center cellpadding=0 cellspacing=0>
    <tr class=messaggio_conf>
    <td>Success.<br>
    Click <a href=1.html>here</a>.</td>
    </tr>
    </table>"
    ;
    }else {echo
    "<p>
    <p>
    <table width=50% border=1 align=center cellpadding=0 cellspacing=0>
    <tr class=messaggio_conf>
    <td>No success! error n°
    $errore, $erroret<br>
    Click <a href=1.html>here</a> to return to previous page.</td>
    </tr>
    </table>"
    ;}
    mysql_close($connessione);
    ?>
    Ultima modifica di toolpirateswar : 09-12-2007 alle ore 14.29.48

  4. #4
    Guest

    Exclamation

    he he Grazie, ma metto in chiaro una cosa, gli id nei forms non ce li ho messi io, ma dreamveawer in automatico quando crei il form, quindi o sbagli te oppure hanno fatto male dreamweaver.

    L'errore get e post è colpa mia, stavo provando a farlo sia get che post nel form e nel php ma non funzionava, probabilmente mi sono dimenticato poi di mettere a posto il form prima di fare copia e incolla quà

    Gli errors li ho sempre messi prima della verifica in forndo sono solo variabili da definire.

    $post = $_POST;
    $username = $post['user'];

    Questo metodo si chiama post global me l'aveva suggerito TopHost.it quando ero ospitato da loro visto che normalmente non funzionava.

    Comunque, come vedi questo sistema mi impone di inserire un username e automaticamente mi aggiorna il record user_avatar, ma devo comunque inserire manualmente gli users. Mi stavo chiedendo, non esiste un sistema più rapido? per esempio inserendo più username?

  5. #5
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da yieforum Visualizza messaggio
    ...
    Comunque, come vedi questo sistema mi impone di inserire un username e automaticamente mi aggiorna il record user_avatar, ma devo comunque inserire manualmente gli users. Mi stavo chiedendo, non esiste un sistema più rapido? per esempio inserendo più username?
    Dipende, se l'avatar è lo stesso, puoi cavartela semplicemente eseguendo questa query:

    UPDATE naof_user
    SET user_avatar = '...'
    WHERE username = 'user1'
    OR username = 'user2'
    OR ...

    Se invece devi inserire un avatar diverso per ogni utente, non puoi fare altro che scrivere una query per ogni utente.

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  6. #6
    Guest

    Predefinito

    Si l'avatar è lo stesso, però mi sembra strano perchè "OR" ???

    or significa oppure? non sarebbe più corretto un AND???
    Ultima modifica di yieforum : 09-12-2007 alle ore 18.03.09

  7. #7
    Ospite Guest

    Predefinito

    $post = $_POST;
    $username = $post['user'];

    Questo metodo si chiama post global me l'aveva suggerito TopHost.it quando ero ospitato da loro visto che normalmente non funzionava.
    "metodo" (??) "post global" (??) :D
    Register_globals è una direttiva della configurazione di PHP.
    Quella frazione di codice è solo un modo per far funzionare lo script indipendentemente dal settaggio di questa.
    Su AlterVista si può modificare il valore della direttiva tramite htaccess.

    Si l'avatar è lo stesso, però mi sembra strano perchè "OR" ???

    or significa oppure? non sarebbe più corretto un AND???
    OR significa oppure.

    Per cui la query di Dementialsite può essere letta come "aggiorna il campo 'naof_user' impostando il valore di 'user_avatar' a '1revoxlu3s/banned_users.gif' dove l'username è user1 oppure user2 oppure ..."

    Ciao!

  8. #8
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da yieforum Visualizza messaggio
    Si l'avatar è lo stesso, però mi sembra strano perchè "OR" ???

    or significa oppure? non sarebbe più corretto un AND???
    Rifletti un attimo: se scrivessi AND, aggiorneresti i record che soddisfano contemporaneamente tutte queste condizioni
    - l'username ha il valore $user1
    - l'username ha il valore $user2
    - ...
    Poiché un campo di un record può assumere solamente un valore, se gli $userX sono diversi tra loro, quelle condizioni non potranno mai verificarsi contemporaneamente. Per questo motivo ci vuole la OR, così un record viene aggiornato anche se soddisfa una sola di quelle condizioni...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  9. #9
    Guest

    Exclamation ho provato!

    Oh ok grazie funzia
    Ultima modifica di yieforum : 22-12-2007 alle ore 02.18.04

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •