• User Attivo

    Ciao,
    per fare un pò di sano debug e vedere che errore genera la queri, sostituisci a:
    [php]
    header('location: index.php?pag=profilo&up=4');
    [/php]
    il codice:
    [php]
    {
    echo mysql_error();
    exit();
    }
    [/php]

    Ad una veloce occhiata ciò che mi lascia perplesso è il nome "città" scritto con l'accento (solitamente si preferisce evitare l'uso di caratteri accentati per i nomi di variabili e campi delle tabelle).
    E' poi sicuramente errata la condizione WHERE id=.$id.
    con il punto ripetuto prima e dopo la variabili. Forse volevi scrivere
    [php]
    ".... WHERE id=".$id." ";
    [/php]

    Non ho controllato il resto del codice.

    Alessandro


  • User

    La variabile id è stata scritta in tutti i modi, anche come hai scritto tu ma niente..

    Proverò ad inserire quella funzione che mi hai descritto...

    Grazie


  • User

    L'errore che mi dà è questo:

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'username = 'SimyXT', nome = 'Simone', residenza = 'Fossacesia',Non capisco perchè..tutti i campi sono apposto

    P.S: L'errore di prima era dovuto ad un nome della tabella sbagliato..xDD

    EDIT: Ho risolto anche questo, mancava una virgola...cacchio mi sto stufando con questi errorini banali..


  • User

    Ho un'altro problemino...
    Vorrei incrementare una variabile ogni volta che un file viene scaricato (è un contatore di download)
    Prendo il nome del file e della categoria dalle query string.
    Se il file esiste apre il db, prendo il valore (intero) di una colonna e la metto in una variabile così:

    [PHP]$down = $fetch[down];[/PHP]

    Poi la incremento così:

    [PHP]$down = $down + 1;[/PHP]

    e la aggiorna con UPDATE..

    Il problema è che quando vado a scaricare il file la prima volta mi incrementa la variabile (che prima era NULL). Quando vado a scaricarlo più volte il valore rimane sempre ad uno..

    Perchè??

    Simone


  • User Attivo

    Ciao,
    questa riga di codice, scritta così, è errata:
    [php]
    $down = $fetch[down];
    [/php]
    mancano gli apici:
    [php]
    $down = $fetch['down'];
    [/php]

    Alessandro


  • User

    L'errore non è quello..apparte che io gli apici per utilizzare le tabelle nel mysql_fetch_array non le ho mai usate, continua ancora a non incrementare la variabile...


  • User Attivo

    Ciao,
    puoi postare il resto del codice?


  • User

    Ciao, ecco il codice...

    [PHP]<?php
    include('db_conf.php');
    session_start();
    if ($_SESSION['username'] == '')
    {
    header('location: index.php?pag=downloads&logged=no');
    }else{

    $file=$_GET['file'];
    $cat = $_GET['cat'];
    $percorso="download/";
    $percorso_file=$percorso.$file;
    $dimensione_file=filesize($percorso_file);

    $db = mysql_connect($dbhost, $dbuser, $dbpassword);
    mysql_select_db($dbname, $db);

    $sel_down = "SELECT * FROM $cat WHERE file = $file";
    $sukalo = mysql_query($sel_down);
    $id_autore = mysql_fetch_array($sukalo);
    $down1 = $id_autore['down'];
    $down1 = $down1 + 1;
    $up_down = mysql_query("UPDATE $cat SET down = '$down1' WHERE file = '$file'");
    if(!$up_down)
    {
    header('location: index.php?pag=view_downloads');
    }else{
    header("Content-Type: application; name=".$file);
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".$dimensione_file);
    header("Content-Disposition: inline; filename=".$file);
    header("Expires: 0");
    header("Cache-Control: no-cache, must-revalidate");
    header("Cache-Control: private");
    header("Pragma: public");
    readfile($percorso_file);
    }
    }
    ?>[/PHP]


  • User Attivo

    Mancano gli apici nella select:
    [php]
    $sel_down = "SELECT * FROM $cat WHERE file = '$file' ";
    [/php]

    Poi... visto che i dati recuperati da quella query li usi solo per aggiornare il contatore, potresti evitarla del tutto aggiornando direttamente con la query di update:
    [php]
    $up_down = mysql_query("UPDATE $cat SET down = down+1 WHERE file = '$file' ");
    [/php]

    Alessandro


  • User

    Si ora funziona...gli apici non centrano perchè ho provato a scriverli in tutti i modi ma nulla. Grazie per avermi dato la dritta dell'update..

    Simone