Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20
  1. #11
    Frena frena che sono ultra niubbo

    Premessa: qualcuno potrebbe chiedersi "Ma lo script te lo dobbiamo fare noi?"
    Vero.
    No, cerco attraverso i miei dubbi di capire il funzionamento in pratica del php.
    Questo script che per voi è una cavolata a me serve per capire un po' di cose.

    Il problema che è nato adesso è questo:

    il codice precedente crea un form con tanti radio button quante sono le opzioni del sondaggio.
    Ogni opzione prende come "value" il nome dell'opzione.

    Premendo invia, il value dell'opzione scelta dovrebbe andare a scriversi nel file "voti.txt"

    Ho fatto in questo modo:

    Codice PHP:
    $voto = ($_POST['$key']);
    $aggiungi_voto = ($voto."(/\)");
    $sondaggio "voti.txt";
    $fp fopen($sondaggio"a+");
    $fw fwrite($fp$aggiungi_voto);
    fclose($fp); 
    Ma il campo $key nn viene riconosciuto...
    Eppure con $_POST[] dovrebbe prenderlo no?

  2. #12
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    codice:
    $voto = $_POST['key'];
    $fp = fopen("voti.txt", "a");
    if(file_get_contents("voti.txt") == "") {
      fwrite($fp, $voto);
      fclose($fp);
      echo "Voto aggiunto!";
      exit;
    }
    $voti_attuali = explode("(/)", file_get_contents("voti.txt"));
    $voti attuali[] = $voto;
    $voti_da_scrivere = implode("(/)", $voti_attuali);
    fwrite($fp, $voti_da_scrivere);
    fclose($fp);
    echo "Voto aggiunto!";
    questo è molto meglio
    comunque ti consiglio di utilizzare file(), se lo vuoi usare sfrutta un codice simile:

    codice:
    $voto = $_POST['key'];
    $fp = fopen("voti.txt", "a");
    if(file_get_contents("voti.txt") == "") {
      fwrite($fp, $voto);
      fclose($fp);
      echo "Voto aggiunto!";
      exit;
    }
    $voti_attuali = file("voti.txt");
    $voti attuali[] = $voto;
    $voti_da_scrivere = implode("\n", $voti_attuali);
    fwrite($fp, $voti_da_scrivere);
    fclose($fp);
    echo "Voto aggiunto!";

  3. #13
    Mica funziona...
    Non prende il "value" del form e quindi nn lo scrive...

  4. #14
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    come si chiama il radio del form

  5. #15
    Il name è "opzione"
    Il value viene preso dal file sondaggio.txt

  6. #16
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    434
    allora non è più $_POST['key']
    $_POST['option']
    :rollo:

  7. #17
    Infatti adesso funziona.
    Thanks.

  8. #18
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    Originariamente inviato da billo
    non è che PER CASO se usate file_get_contents() al posto di implode("", file()) funziona meglio?
    semplicemente perchè quella funzione è

    file_get_contents
    (PHP 4 >= 4.3.0, PHP 5)

    quindi a scanso di equivoci ho preferito evitare il suo utilizzo.. e la terna fopen,recupero_dati,fclose gliela volevo risparmiare.. chiaramente se la sua versione è superiore alla 4.3.0 meglio file_get_contents

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  9. #19
    Alla fine cmq ho riscritto il codice di voto, in quanto quello postato da billo dopo la prima votazione aggiungeva il voto successivo più la ripetizione di tutti gli altri voti.

    Zau!

  10. #20
    file_get_contents è MOLTO meglio, soprattutto a livello di performance

    infatti la velocità di implde('', file('file')) varia molto in base al numero di righe, mentre file_get_contents non ha questo "problema" e quindi è molto più performante

    provate a impldere un file con 1000 righe 1000 volte e poi provatelo a leggere con file_get_contents facendo le statistiche dei tempi di esecuzione e noterete una notevole differenza
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

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.