Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    Lettura, modifica e scrittura su file

    Salve,
    ho questa pagina php che si occupa di aprire un file, della forma:

    <?php/*|1|2|3|4|5|6|7|ecc...|44|*/?>

    e che in qualche |...|, dall'indice 11 all'indice 30, sostituisce i valori postati da un'altra pagina php con un form di submission. Però non funziona: puntualmente i numeri 12, 13 e 14 non me li aggiorna, lasciandoli bianchi.

    Ecco la pagina, vi ringrazio dell'aiuto!

    codice:
    <?php
    
        //Sostituisco le lettere accentate con le relativa entità html
        function cambia_acc($dato){
            $dato = @str_replace("\'", "'", $dato);
            $dato = @str_replace('\"', '"', $dato);
            return $dato;
        }
        
        // Definizione dei path
        $path0 = 'public/tornei';
    
    
        // Collegamento tra variabile e input
        $time = $_POST['time'];
        $place = @htmlspecialchars($place,ENT_QUOTES);
        $place = cambia_acc($_POST['place']);
        
        $gioc1 = $_POST['gioc1'];
        $gioc2 = $_POST['gioc2'];
        $gioc3 = $_POST['gioc3'];
        $gioc4 = $_POST['gioc4'];
        $gioc5 = $_POST['gioc5'];
        $gioc6 = $_POST['gioc6'];
        $gioc7 = $_POST['gioc7'];
        $gioc8 = $_POST['gioc8'];
        $gioc9 = $_POST['gioc9'];
        $gioc10 = $_POST['gioc10'];
        $gioc11 = $_POST['gioc11'];
        $gioc12 = $_POST['gioc12'];
        $gioc13 = $_POST['gioc13'];
        $gioc14 = $_POST['gioc14'];
        $gioc15 = $_POST['gioc15'];
        $gioc16 = $_POST['gioc16'];
        $gioc17 = $_POST['gioc17'];
        $gioc18 = $_POST['gioc18'];
        $gioc19 = $_POST['gioc19'];
        $gioc20 = $_POST['gioc20'];
        
        $guarda = $_POST['guarda'];
        $note = $_POST['note'];
        
        $path = $_POST['path'];
        $path = "$path0/$path";
        
        $type = $_POST['type'];
        $nome = $_POST['nome'];
        
        // Scrivo le informazioni sul file di testo
        $f = @file_get_contents("$path");
        $file = @explode("|", $f);
        
        // Dati partita
        $file[0];
        $file[1];    
        $file[2];    
        $file[3];    
        $file[4];    
        $file[5];    
        $file[6];    
        $file[7];    
        $file[8];    
        $file[9];    
        $file[10];    
        
        // Convocati
        $file[11] = $gioc1; //
        $file[12] = $gioc2; //
        $file[13] = $gioc3; //
        $file[14] = $gioc4; //
        $file[15] = $gioc5;
        $file[16] = $gioc6;
        $file[17] = $gioc7;
        $file[18] = $gioc8;
        $file[19] = $gioc9;
        $file[20] = $gioc10;
        $file[21] = $gioc11;
        $file[22] = $gioc12;
        $file[23] = $gioc13;
        $file[24] = $gioc14;
        $file[25] = $gioc15;
        $file[26] = $gioc16; //
        $file[27] = $gioc17;
        $file[28] = $gioc18;
        $file[29] = $gioc19;
        $file[30] = $gioc20;
        
        $file[41] = $time;
        $file[42] = $place;
        $file[43] = $guarda;
        $file[44] = $note;
        
        $file[45];
            
        @file_put_contents($path, "<?php/*|$file[1]|$file[2]|$file[3]|$file[4]|$file[5]|$file[6]|$file[7]|$file[8]|$file[9]|$file[10]|$file[11]|$file[12]|$file[13]|$file[14]|$file[15]|$file[16]|$file[17]|$file[18]|$file[19]|$file[20]|$file[21]|$file[22]|$file[23]|$file[24]|$file[25]|$file[26]|$file[27]|$file[28]|$file[29]|$file[30]|||||||||||$file[41]|$file[42]|$file[43]|$file[44]|*/?>");
            
        @fclose($path);
        
        echo "
    <CENTER></br></br></br></br></br></br>
    <font color=\"#e4dece\"> Convocazioni inserite correttamente. </font></br></br>
    <h4><a href=\"/gestisci.php?page=gestisci_partite&t=$type&n=$nome\"> Torna </a></h4>
    </CENTER> ";
    
    
    ?>

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Hai controllato che la variabile $_POST contenga i valori che ti aspetti?
    metti un print_r/var_dump di $_POST.

  3. #3
    Tralasciando le cose strane che ci sono nel tuo codice fai
    Codice PHP:
    print_r($f); print_r($file); 
    subito dopo
    Codice PHP:
        // Scrivo le informazioni sul file di testo
        
    $f = @file_get_contents("$path");
        
    $file = @explode("|"$f); 
    per vedere cosa c'è dentro quelle variabili.

  4. #4
    Array ( [0] => OMCC03-Concorezzo [2] => SantEustorgio_Leoni-Arcore [3] => - [4] => - [5] => 2014 [6] => 10 [7] => 11 [8] => Geschello [9] => 13:45 [10] => 12:45 [11] => Piazza-Luca.php [12] => [13] => [14] => Cantu-Mauro.php [15] => Colombo-Pietro.php [16] => Durosini-Federico.php [17] => Formenti-Lorenzo.php [18] => Preziosa-Alberto.php [19] => De-Salvia-Lorenzo.php [20] => Spreafico-Marco.php [21] => Fusilli-Stefano.php [22] => Fumagalli-Gerardo.php [23] => Brambilla-Luca.php [24] => Colombo-Stefano.php [25] => Limonta-Andrea.php [26] => Limonta-Daniele.php [27] => [28] => [29] => [30] => [31] => [32] => [33] => [34] => [35] => [36] => [37] => [38] => [39] => [40] => [41] => 12:45 [42] => Geschello [43] => [44] => [45] => */?> )

  5. #5
    Ma sono nomi di giocatori o di file? (sempre più strano )

  6. #6
    Calma raga
    funziona tutto. Sarà naive ma funziona, sono riuscito a gestire tutta una squadra di calcio con giocatori, statistiche e partite senza avere un database.
    Nel file "partita" c'è dentro:

    <?php/*|squadra1|squadra2|goal1|goal2|anno|mese|giorno|l uogo|ora1|ora2|convocato|convocato|convocato|convo cato|convocato|convocato|convocato|convocato|convo cato|convocato|convocato|convocato|convocato|convo cato|convocato|convocato|convocato|convocato|convo cato|convocato|marcatore|marcatore|marcatore|marca tore|marcatore|marcatore|marcatore|marcatore|marca tore|marcatore|ora ritrovo|luogo ritrovo|guardalinee|note|*/?>

    mentre nei singoli file giocatore ci sono i dati personali e le statistiche.

    Il punto è che quando creo la partita inserisco i dati della partita: sfidanti, orario, luogo ecc.
    Poi edito il file inserendo i convocati
    Infine dopo la partita edito di nuovo inserendo i goal e i marcatori

    Il tutto lo utilizzo per tenere traccia delle statistiche, del calendario, classifica.

    Il problema è che quando modifico (con quella pagina php) i convocati, non mi carica alcune voci, e non so perchè.

  7. #7
    Quote Originariamente inviata da Luca Crippa Visualizza il messaggio
    Calma raga
    funziona tutto. Sarà naive ma funziona, sono riuscito a gestire tutta una squadra di calcio con giocatori, statistiche e partite senza avere un database.
    Mi sento di correggerti. Un file testuale è a tutti gli effetti un database (tradotto "base (contenitore) di dati"), con struttura variabile ma contiene pur sempre i dati.

    Il problema del database testuale, è il formato, che deve essere cmq fisso nonostante la lunghezza sia variabile.

    Vista l'accozzaglia di dati di cui tu capisci qualcosa e forse noialtri un po' meno, ti chiedo cortesemente di postare:
    - il form con cui invii tutto questo
    - un esempio di dati inseriti
    - ciò che dovrebbe risultare
    - ciò che invece risulta

  8. #8
    In allegato
    File allegati File allegati

  9. #9
    Ti aspetti davvero che qualcuno apra gli allegati? Per chi ti aiuta è molto più comodo con i tag del forum...

  10. #10
    Sì, ma non ci sta tutto.... neanche a dividere in più messaggi. Posso provare a spezzettarlo tutto quanto, ma non so quanto si capirebbe.. ora lo faccio.

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.