+ Rispondi al Thread
Pagina 1 di 3 123 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Discussione: Codice accetta solo identificatore numerico

  1. #1
    Jessi45 non è in linea Scolaretto
    Post
    85

    Codice accetta solo identificatore numerico

    Nel db ho 2 campi: pagine varchar(100) e visite int(11)

    Questo è il codice, invece di mettere $pagina = 1; vorrei mettere una parola al posto del numero.

    Codice PHP:
    // Identificativo numerico della pagina
    $pagina 1;

    // il 314 è il mio ID utente che ho in LOCALHOST per impedire che il contatore conteggi i miei click
    if($user->data['user_id'] <> 314 ) {
    // Aggiorna il contatore
    mysql_query("UPDATE phpbb_contatore SET visite = visite+ 1 WHERE pagina = $pagina");
    }

    // Inserisce i dati nel db e sovrascrive il numero-visite precedente
    if (mysql_affected_rows() == 0) {
        
    mysql_query("INSERT INTO phpbb_contatore (pagina, visite) VALUES ($pagina, 1)");
    }

    // Estrae i dati dal DB
    $res mysql_query("SELECT visite FROM phpbb_contatore WHERE pagina = $pagina");
    $visite mysql_fetch_assoc($res);

    // Crea la variabile-echo che viene poi richiamata nel file HTML
    $template->assign_vars(array(
        
    'conta_visite1' => $visite['visite'],
    )); 

  2. #2
    L'avatar di +m+
    +m+
    +m+ non è in linea Scribacchino
    Post
    922
    Non ho capito praticamente nulla, comunque "intuisco" che non metti gli apici nei valori stringa.

    Per inciso...
    1) usi una libreria deprecatissima...
    2) hai voragini di sicurezza enormi...
    3) ... è altamente inefficiente...

  3. #3
    Jessi45 non è in linea Scolaretto
    Post
    85
    Tu come lo faresti questo codice? Nel db ho 2 campi: pagine varchar(100) e visite int(11)

  4. #4
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    2,787
    Quote Originariamente inviato da Jessi45 Visualizza il messaggio
    Tu come lo faresti questo codice?
    No. Invertiamo la domanda: tu come hai provato?
    Il regolamento del forum: la prima cosa da leggere.

  5. #5
    Jessi45 non è in linea Scolaretto
    Post
    85
    Qui $pagina = 1; ho provato a togliere il numero e messo una parola, ma non inserisce nel database

  6. #6
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    2,787
    E insisti a non mostrare COME hai sostituito la parola al numero !
    Il regolamento del forum: la prima cosa da leggere.

  7. #7
    Jessi45 non è in linea Scolaretto
    Post
    85
    Pensavo fosse già capito, ho provato così $pagina = benessere; e così $pagina = "benessere";

  8. #8
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    2,787
    Questo: $pagina = benessere è evidentemente sbagliato.
    Questo: $pagina = "benessere" è corretto.
    Dovresti non avere dubbi sulle differenze tra costanti numeriche e costanti non numeriche.
    Che si trattava di un problema di apici o virgolette ti era già stato fatto notare nella prima risposta che hai ottenuto, ma non lo hai afferrato anche a causa di divagazioni che, almeno per ora, ti sono incomprensibili.
    Le virgolette (o gli apici) naturalmente li devi usare anche all'interno della query oltre che nell'assegnazione del valore alla variabile.
    Il regolamento del forum: la prima cosa da leggere.

  9. #9
    Jessi45 non è in linea Scolaretto
    Post
    85
    Avevo provato tutto, ora però non so dove mettere gli apici alle query, visto che sono tante.

  10. #10
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    2,787
    Quote Originariamente inviato da Jessi45 Visualizza il messaggio
    ... visto che sono tante.
    Ma se fosse stata una sola lo avresti saputo?
    Documentati sulla differenza che c'è tra l'apice singolo e le virgolette in PHP.
    Dopo, solo dopo, prova così: $pagina = "'benessere'";
    Il regolamento del forum: la prima cosa da leggere.

+ Rispondi al Thread
Pagina 1 di 3 123 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi