Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Sondaggio senza DB

  1. #1

    Sondaggio senza DB

    Ciao a tutti.. ho provato a cercare sul forum qualcosa che mi possa interessare, ma tutti i 3d che ho trovato sconsigliano di usare i file di testo per fare un sondaggio, perchè cosa lunga e macchinosa.. io stavo pensando invece di farne uno con i file di testo, poichè non ho db sul sito..
    Pensavo a una cosa abb semplice:
    2 opzioni di scelta, 2 file di testo.
    3 opzioni, 3 file.. e così via..
    Avevo in mente con un'istruzione if una cosa del genere (risp1 e risp2 sono 2 radiobutton):
    Codice PHP:
    <?php
    $risp1 
    $_POST['risp1'];
    $risp2 $_POST['risp2'];
    if(
    $risp1) {
    //QUI CI METTO IL CODICE PER SCRIVERE SUL FILE E INCREMENTARE IL NUMERO
    echo "hai scelto la prima opzione!
    "
    ;
    } elseif (
    $risp2) {
    //QUI CI METTO IL CODICE PER SCRIVERE SUL FILE E INCREMENTARE IL NUMERO
    echo "hai scelto la seconda opzione!
    "
    ;
    } else {
    print 
    "Grazie per aver votato!";
    }
    ?>
    L'unico problema è che ho provato a fare una roba del genere, ma non funziona.. non scrive niente!
    Il codice che ho usato per scrivere sul file è questo:
    Codice PHP:
    $nomefile="risp1.txt";
    $buffer $buffer +1;
    $vecchiofile=fopen(nomefile"r");
    $contenuto_file=fread($vecchiofilefilesize($nomefile));
    fclose($vecchiofile);
    $f=fopen($nomefile"w+");
    fwrite($f"$buffer\r\n");
    fwrite($f"$contenuto_file\r\n");
    fclose($f); 
    Qualcuno ha un'idea migliore, o riesce a vedere se il mio codice ha qualche falla? grazie molte a tutti!
    L'uomo nero non è morto, ha gli artigli come un corvo, fa paura la sua voce, prendi subito la croce, apri gli occhi ,resta sveglia, non dormire questa notte..

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Codice PHP:

    // fai cosi


    $contenuto_file=file_get_contents("risp1.txt");
    $buffer++;
    $new_file="$buffer\n$contenuto\n";
    $rewrite=fopen("risp1.txt""w+");
    fwrite($rew,$new);
    fclose($rew); 
    e comunque l' errore e qui

    $vecchiofile=fopen(nomefile, "r");

    manca la $ di nomefile

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3
    grazie mille dottwatson del tempismo, nonchè dell'aiutino.. ma non va lo stesso con il codice che mi hai dato.. l'ho cambiato così però:
    Codice PHP:
    $contenuto=file_get_contents("risp1.txt");
    $buffer++;
    $new="$buffer\n$contenuto\n";
    $rew=fopen("risp1.txt""w+");
    fwrite($rew,$new);
    fclose($rew); 
    Mi convinceva poco.. Ho fatto male?
    No, a parte gli scherzi.. non scrive assolutamente niente sul file di testo!
    Ne il tuo, ne correggendo il mio.. è la prima volta che uso un codice con il "file_get_contents" quindi non so come comportarmi... Qualche idea?
    L'uomo nero non è morto, ha gli artigli come un corvo, fa paura la sua voce, prendi subito la croce, apri gli occhi ,resta sveglia, non dormire questa notte..

  4. #4
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    controlla i permessi del file, mettili a 777
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    non capisco perchè tu debba usare 3 fiel se hai 3 risposte..... puoi usare un unico fille con infinite risposte!!!

    rifomuliamo il tutto:


    form di scelta dall' utente con radio button name="scelta" e ogni radio ha value="12 se scelta 1, value="2" se scelta 2 ecc....

    Codice PHP:
    //recupero il dato
    $out="";
    $sel=$_POST["scelta"];
    //leggo tutto il file stavolta mettendo i dati in array direttamente
    $file=file("risposte.txt");

    foreach (
    $file as $dato
    {
    // ripulisco dagli a capo
    $dato=trim($dato);
    //in base alla selezione dell' utente incremento il valore
    if ($x==$sel$dato++;
    $out.=$dato."\n";
    }
    $rew=fopen("risposte.txt""w+");
    fwrite($rew,$out);
    fclose($rew); 
    l'unica cosa è di farti subito il file risposte.txt con numero di righe=numero di scelte. quindi nel tuo caso il file risposte.txt è

    0
    0
    0

    con 3 risposte e imposta i permessi sul file a 777

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    Boh.. sono impedito .. non scrive niente.. o meglio.. pubblicando il tutto sul mio spazio mi scrive solo 1.. non incrementa! se scarico il file sul mio pc mi visualizza dei quadratini.. I CHMOD del file sono impostati su 777
    L'uomo nero non è morto, ha gli artigli come un corvo, fa paura la sua voce, prendi subito la croce, apri gli occhi ,resta sveglia, non dormire questa notte..

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.