Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309

    query di aggiornamento dati che non va

    ciao a tutti e buona giornata
    ieri stavo finendo di preparare due pagine, una contenente il form di invio dati, l'altra che li aggiorna nel DB. Però non capisco, i dati non vengono aggiornati, eppure se faccio un ECHO per visualizzare le variabili passate via POST me le stampa in modo corretto..bo! vi posto il codice:

    il form che invia i dati:

    Codice PHP:
    <form id='formID' method='POST' action='step2.php'>
    <
    input type='text' value='$old_email' id='new_email' size='20' name='new_email'>
    <
    input type='text' value='$old_email' id='new_email2' size='20' name='new_email2'>
    <
    select size='1' name='new_mail_p'>
    <
    option selected value='$old_mail_p'>$old_mail_p</option>
    <
    option value='si'>Si</option>
    <
    option value='no'>No</option>
    </
    select>
    <
    input type='text' value='$old_indirizzo' id='indirizzo' size='20' name='indirizzo'>
    <
    select size='1' name='new_indirizzo_p'>
    <
    option selected value='$old_indirizzo_p'>$old_indirizzo_p</option>
    <
    option value='si'>Si</option>
    <
    option value='no'>No</option>
    </
    select>
    <
    input type='text' value='$old_cap' id='cap' size='20' name='cap'>
    <
    select size='1' name='new_cap_p'>
    <
    option selected value='$old_cap_p'>$old_cap_p</option>
    <
    option value='si'>Si</option>
    <
    option value='no'>No</option>
    </
    select>
    <
    input type='text' value='$old_citta' id='citta' size='20' name='citta'>
    <
    select size='1' name='new_citta_p'>
    <
    option selected value='$old_citta_p'>$old_cap_p</option>
    <
    option value='si'>Si</option>
    <
    option value='no'>No</option>
    </
    select>
    <
    select name='new_provincia' id='provincia'>
    <
    option selected='' name='provincia' value='$old_provincia'>  $old_provincia  </option>
    <
    option value='AG'>AG</option>
    <
    option value='AL'>AL</option>
    <
    option value='AN'>AN</option>
    <
    option value='AO'>AO</optionec... ec...
    <
    select size='1' name='new_provincia_p'>
    <
    option selected value='$old_provincia_p'>$old_provincia_p</option>
    <
    option value='si'>Si</option>
    <
    option value='no'>No</option>
    </
    select>
    <
    select name='new_nazionalita' id='nazionalita'>
    <
    option selected='' value='$old_nazionalita'>  $old_nazionalita  </option>
    <
    option value='AF'>Afghanistan</option>
    <
    option value='AL'>Albania</option>
    <
    option value='DZ'>Algeria</option>
    <
    option value='AS'>American Samoa</option>ecc... ecc...
    <
    select size='1' name='new_nazionalita_p'>
    <
    option selected value='$old_nazionalita_p'>$old_nazionalita_p</option>
    <
    option value='si'>Si</option>
    <
    option value='no'>No</option>
    </
    select>
    <
    input type='hidden' name='username' value='$username'>
    <
    input type='hidden' name='password' value='$password'>
    <
    input type='submit' value='conferma e vai al secondo passaggio' name='B1'>
    </
    form
    i campi sarebbero:
    <input type='text' value='$old_email' id='new_email' size='20' name='new_email'>
    dove nel value prendo l'e-mail inserita in passato, da aggiornare con name='new_email'
    con quest'altro campo, un select:
    <select size='1' name='new_mail_p'>
    <option selected value='$old_mail_p'>$old_mail_p</option>
    <option value='si'>Si</option>
    <option value='no'>No</option>
    </select>
    chiedo se vuole rendere visibile l'e-mail agli altri utenti
    ecc... ecc... così vale per gli altri. La pagina che riceve i dati, step2.php è così:
    Codice PHP:
    $username=$_POST['username'];
    $password=$_POST['password'];

    $email=$_POST['new_email'];
    $new_mail_p=$_POST['new_mail_p'];
    $indirizzo=$_POST['indirizzo'];
    $new_indirizzo_p=$_POST['new_indirizzo_p'];
    $cap=$_POST['cap'];
    $new_cap_p=$_POST['new_cap_p'];
    $citta=$_POST['citta'];
    $new_citta_p=$_POST['new_citta_p'];
    $provincia=$_POST['new_provincia'];
    $new_provincia_p=$_POST['new_provincia_p'];
    $nazionalita=$_POST['new_nazionalita'];
    $new_nazionalita_p=$_POST['new_nazionalita_p'];

    mysql_query ("UPDATE login set email='$email', mail_p='$new_mail_p', indirizzo='$indirizzo', 

    indirizzo_p='
    $new_indirizzo_p', citta='$citta', citta_p='$new_citta_p', cap='$cap', cap_p='$new_cap_p', 

    provincia='
    $provincia', provincia_p='$new_provincia_p', nazionalita='$nazionalita', 

    nazionalita_p='
    $new_nazionalita_p' WHERE (username='$username' and password='password') ")  or 

    die( 
    mysql_error() ); 
    se provo a stampare i dati, tipo:
    Codice PHP:
    echo "user: $username
    "
    ;
    echo 
    "pswd: $password
    "
    ;
    echo 
    "email: $email
    "
    ;
    echo 
    "vuoi pubblicare l'e-mail?: $new_mail_p
    "
    ;
    echo 
    "indirizzo: $indirizzo
    "
    ;
    echo 
    "vuoi pubblicare l'indirizzo?: $new_indirizzo_p
    "
    ;
    echo 
    "cap: $cap
    "
    ;
    echo 
    "vuoi pubblicare il cap?: $new_cap_p
    "
    ;
    echo 
    "città: $citta
    "
    ;
    echo 
    "vuoi pubblicare la città?: $new_citta_p
    "
    ;
    echo 
    "provincia: $provincia
    "
    ;
    echo 
    "vuoi pubblicare la pr?: $new_provincia_p
    "
    ;
    echo 
    "nazionalità: $nazionalita
    "
    ;
    echo 
    "vuoi pubblicare la nazionalità?: $new_nazionalita_p
    "

    li stampa in modo corretto, però non avviene l'aggiornamento

    dove sta l'errore????

    Grazie in anticipo a tutti!! Gina

  2. #2
    Se i dati arrivano correttamente, e la query non da errore, forse il where è falso (username e password sono corretti?) e comunque rimuoverei quelle inutili parentesi
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    ciao maurizio, grazie per la risp.

    si, username e password sono corrette...
    anche i campi del DB.
    Ho provato a rimuovere le parentesi WHERE (username='$username' ecc)
    ma non va ugualmente!!!!!!!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    aiuto ho trovato l'errore... nel where mancava il segno $ in password, ecco perchè non aggiornava, e io a diventar matta!!!!

  5. #5
    E già, era sfuggito anche a me, comunque doveva essere li per forza
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

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.