Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    62

    controllo, update e insert su database

    Ho un po' di problemi nello scrivere un codice PHP
    Questo è ciò che dovrebbe fare la pagina voto.php

    Riceve da un'altra pagina le variabili $voto e $utente
    registra le due variabili:
    $ip (l'ip dell'utente)
    $data (la data attuale)

    Apre nel database la tabella sondaggio (formata dalle colonne id, utente, ip, voto, data)

    Verifica se la colonna utente della tabella assume il valore $utente

    se è così sostituisce nella riga corrispondente i valori di $voto, $ip e $data

    altrimenti crea una nuova riga in cui scrive i valori di $utente, $voto, $ip e $data (id si incrementa automaticamente)

    Qualcuno può aiutarmi? Continuo a sbatterci la testa ma credo di aver confuso qualche operatore, non ho un debugger ma scrivo sul notepad e quando vado a verificare in locale il file non funziona nulla...

    Grazie!

    P.S. mi scuso per il precedente titolo...

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    quale file?
    a questo punto postalo, con il codice di errore, cosi vediamo cosa fa questo file.

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    62
    <html>
    <body>

    <php?

    $ip = getenv("REMOTE_ADDR");
    $data = getdate();


    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    endif;

    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "SELECT id, utente, voto, data FROM $db_name WHERE (utente==$utente)"
    $result = mysql_query($query, $db);
    while ($row = mysql_fetch_array($result));

    if ($row!='')


    if ($voto=='0')
    echo 'In data $row[data] hai già votato $row[voto]';

    else
    $query = "UPDATE INTO $db_name SET (voto=$voto, data=$data) WHERE (id==$row[id])";
    echo 'Il tuo voto è stato aggiornato, hai votato $voto';

    endif;

    else
    if ($voto=='0')
    echo 'Non hai ancora votato';

    else
    $query = "INSERT INTO $db_name (ip, voto, data) VALUES ('".$ip."', '".$voto."',

    '".$data."')";

    echo 'Il tuo voto è stato registrato, hai votato $voto';


    endif;

    endif;

    mysql_close($db);

    ?>
    </body>
    </html>

  4. #4
    scrivi il codice tra i tag se no non si capisce na mazza!!
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  5. #5
    vabeh te lo riscrivo io va:
    Codice PHP:
    <html
    <
    body

    <
    php

    $ip getenv("REMOTE_ADDR"); 
    $data getdate(); 


    include(
    "config.inc.php"); 
    $db mysql_connect($db_host$db_user$db_password); 
    if (
    $db == FALSE
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php"); 
    endif; 

    mysql_select_db($db_name$db
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); 

    $query "SELECT id, utente, voto, data FROM $db_name WHERE (utente==$utente)" 
    $result mysql_query($query$db); 
    while (
    $row mysql_fetch_array($result)); 

    if (
    $row!=''


    if (
    $voto=='0'
    echo 
    'In data $row[data] hai già votato $row[voto]'

    else 
    $query "UPDATE INTO $db_name SET (voto=$voto, data=$data) WHERE (id==$row[id])"
    echo 
    'Il tuo voto è stato aggiornato, hai votato $voto'

    endif; 

    else 
    if (
    $voto=='0'
    echo 
    'Non hai ancora votato'

    else 
    $query "INSERT INTO $db_name (ip, voto, data) VALUES ('".$ip."', '".$voto."', 

    '"
    .$data."')"

    echo 
    'Il tuo voto è stato registrato, hai votato $voto'


    endif; 

    endif; 

    mysql_close($db); 

    ?> 
    </body> 
    </html> 
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  6. #6
    Codice PHP:
    <php
    $ip getenv("REMOTE_ADDR"); 
    $data getdate(); 

    include(
    "config.inc.php"); 
    $db mysql_connect($db_host$db_user$db_password); 
    if (
    $db == FALSE
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php"); 
    endif; 
    mysql_select_db($db_name$db
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); 

    $query "SELECT id, utente, voto, data FROM $TABELLA_name WHERE utente = '$utente'" 
    $result mysql_query($query$db); 
    $row mysql_fetch_array($result); 

    if (
    $voto=='0') {
    echo 
    'In data $row[data] hai già votato $row[voto]'; }

    else {
    $query "UPDATE $TABELLA_name SET voto = '$voto' AND data = '$data' WHERE id='$row[id]'"
    echo 
    'Il tuo voto è stato aggiornato, hai votato $voto'
     
    $query "INSERT INTO $TABELLA_name (ip, voto, data) VALUES ('".$ip."', '".$voto."', 

    '"
    .$data."')"

    echo 
    'Il tuo voto è stato registrato, hai votato $voto'

    }

    mysql_close($db); 

    ?> 
    vedi che dovrebbe essere più corretto così..
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    62
    C'è qualcosa che non capisco.
    Mi restituisce una pagina bianca senza nessun avviso (nè di mancata connessione, nè di inserimento dati) e i dati sul database ovviamente non li inserisce...

    Credo sia una cosa semplicissima ma che mi sfugge...

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    62
    Risolto il problema, me lo dava solo in locale...

    Si connette al database ma non termina lo script e mi da quest'errore


    Parse error: parse error, unexpected T_VARIABLE in voto.php3 on line 33

    e la line33 corrisponde a
    Codice PHP:
    $result mysql_query($query$db); 
    ma non capisco qual'è il problema...

    Inoltre il comando
    Codice PHP:
    $data getdate(); 
    restituisce un array, come faccio a trasformare l'array data nella variabile data (in formato yyyy/mm/dd ad esempio) ho cercato un po' in giro ma non ci ho capito molto...


    Ciao!

  9. #9
    il punto e virgola nella riga precedente, al fondo.

    la data:

    $data = date("Y-m-d");


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    voto.php3 VVoVe:

    ancora file .php3?

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.