Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21

Discussione: Variabile su file php

  1. #11
    il valore nella var lo carico con il campo del form (con un altro file modulo.php), e lo recupero all'inizio, da questa riga:

    //recupero i dati da form modulo.php
    $titolo=$_POST['titolo_guest'];

    e come ti dicevo prima, non cambia nulla.

    ho notato invece una cosa nel codice che mi hai postato precedentemente, ed è questo:

    //la modifichi
    $var[1] = "$titolo";
    $cont[$riga] = $var[0].":".$var[1];

    //e risalvi

    $fp =fopen("conf.txt" , "w");

    $str = implode( "\n" , $conf );
    fwrite( $fp , $str , strlen($str) );
    fclose($fp);
    }
    ?>

    se noti, la variabile $cont[$riga] (che contiene $var 0 e $var1) non me la fai salvare nel file conf.txt .

  2. #12
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Ho trovato l'errore.
    avevo sbagliato una var.

    e cmq :

    $str = implode( "\n" , $conf );
    fwrite( $fp , $str , strlen($str) );
    fclose($fp);
    }

    Serve proprio per salvare sul file i dati.

    cmq :

    Codice PHP:
    <?php

    //recupero i dati da form modulo.php
    $titolo=$_POST['titolo_guest'];

    //verifico che tutti i campi del form siano pieni

    if (empty($titolo) ){
      echo 
    'Uno o più campi obbligatori sono vuoti!
    '
    ;
      echo 
    "<a href=\"pannello.htm\">Torna indietro</a>";
    }

    //se pieni
    else {

    echo 
    "I dati sono stati salvati"."
    "
    ;
    echo 
    "<a href=\"pannello.php\">Ritorna al pannello</a>";

    $riga=5;

    $conf file("./config.txt");
    $var explode(":",$conf[$riga]);

    //la modifichi
    $var[1] = "$titolo";
    $conf[$riga] = $var[0].":".$var[1]; // <== avevo scritto $cont invece di $conf scusami


    //e risalvi

    $fp =fopen("conf.txt" "w");

    $str implode"\n" $conf );
    fwrite$fp $str strlen($str) );
    fclose($fp);

    }
    ?>

  3. #13
    Ora scrive nella posizione corretta, ma....

    parto dal file config.txt che è così:

    $a:1
    $b:2
    $c:3
    $d:4
    $e:5
    $f:6
    $g:7
    $h:8

    scrivo nel pannellino qualsiasi cosa per valorizzare la variabile $titolo (io ho messo, titolino)
    e mi scrive il file conf.txt, cosi:
    $a:1
    $b:2
    $c:3
    $d:4
    $e:5
    $f:titolino$g:7
    $h:8

    Come vedi la variabile $g:7, si accoda a quella modificata.
    Ho provato a fare qualche modifica per sistemarlo, ma non ci sono riuscito.

    Ora volevo provare a scrivere su un file .php (in quanto mi serve questo tipo di estensione)
    Poi ti faccio sapere.
    Intanto ti ringrazio per la tua immensa pazienza, ciao.

  4. #14
    ora è ok, ti posto la parte del codice che ho modificato:

    Codice PHP:
    //la modifichi
    $var[1] = "$titolo";
    $conf[$riga] = $var[0]."=".'"'.$var[1].'"'.";"."\n"//<== in questo modo formatto la varia. e vado a capo 

    //e risalvi

    $fp =fopen("config.php" "w");

    $str implode($conf);               //<==tolto la \n ad ogni aggiornam. mi aggiung. diverse righe
    fwrite$fp $str strlen($str) );
    fclose($fp);

    }
    ?> 
    Ora provo a farlo con più variabili.

  5. #15
    fatto con più variabili e funziona che è una meraviglia

    Codice PHP:
    <?php

    //recupero i dati da form modulo.php
    $titolo=$_POST['titolo_guest'];
    $colo_tito=$_POST['color_titolo'];
    $grand_titolo=$_POST['grand_titolo'];
    //verifico che tutti i campi del form siano pieni


    if (empty($titolo) || empty($colo_tito)|| empty($grand_titolo)){
      echo 
    'Uno o più campi obbligatori sono vuoti!
    '

      echo 
    "<a href=\"pannello.php\">Torna indietro</a>"
    }

    //se pieni
    else {
    echo 
    "I dati sono stati salvati"."
    "
    ;
    echo 
    "<a href=\"pannello.php\">Ritorna al pannello</a>";

    //inizio variabile titolo     <== prima variabile
    $riga=3;

    $conf file("./config.php");

    $var explode("=",$conf[$riga]);

    //la modifichi
    $var[1] = "$titolo";
    $conf[$riga] = $var[0]."=".'"'.$var[1].'"'.";"."\n"

    //e risalvi

    $fp =fopen("config.php" "w");
    $str implode($conf);
    fwrite$fp $str strlen($str) );
    fclose($fp);
    //fine variabile titolo

    //inizio variabile colore titolo    <== seconda variabile
    $rigatit=4;
    $conf file("./config.php");
    $var explode("=",$conf[$rigatit]);

    //la modifichi
    $var[1] = "$colo_tito";
    $conf[$rigatit] = $var[0]."=".'"'.$var[1].'"'.";"."\n"

    //e risalvi
    $fp =fopen("config.php" "w");
    $str implode($conf);
    fwrite$fp $str strlen($str) );
    fclose($fp);
    //fine variabile colore titolo

    //inizio variabile dimensione titolo   <== terza variabile
    $rigadim=5;
    $conf file("./config.php");
    $var explode("=",$conf[$rigadim]);

    //la modifichi
    $var[1] = "$grand_titolo";
    $conf[$rigadim] = $var[0]."=".'"'.$var[1].'"'.";"."\n"

    //e risalvi
    $fp =fopen("config.php" "w");
    $str implode($conf);
    fwrite$fp $str strlen($str) );
    fclose($fp);
    //fine variabile dimensione titolo
    }
    ?>
    per ogni variabile ripeto (modificando le parti opportune) queste righe di codice:

    Codice PHP:
    //inizio variabile titolo
    $riga=3;

    $conf file("./config.php");

    $var explode("=",$conf[$riga]);

    //la modifichi
    $var[1] = "$titolo";
    $conf[$riga] = $var[0]."=".'"'.$var[1].'"'.";"."\n"

    //e risalvi

    $fp =fopen("config.php" "w");
    $str implode($conf);
    fwrite$fp $str strlen($str) );
    fclose($fp);
    //fine variabile titolo 
    un grazie di cuore a virus
    Spero che possa servire anche ad altri.

  6. #16
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497

    SOn contento che alla fine funziona

    Cmq io solitamente preferisco settare le configurazione direttamente su files xml oppure direttamente nel database.

    Anche perche' tale file .txt e' accessebile dall'esterno a meno che non sia protetto da htacess htpassword. E quindi, a patto di conoscere il link, ogni utente del pianeta potrebbe guardarci dentro.

  7. #17
    Sto cercando di farlo anche io direttamente nel database. :master:

    Quindi ....preparati......(ahahah...)

  8. #18
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    beh alla fine puoi nascondere la configurazione in una variabile php.

    tipo fai il file conf.php

    Codice PHP:

    $conf 
    "variabile1=valore1
    variabile2=valore2
    variabile3=valore3
    "

    poi lo includi doveti serve e per modificarlo operi come abbiamo visto prima sovrascrivendo il file ovviamente mantenendo la sintassi php corretta.
    Praticamante usi PHP per generare codice PHP.

    Pensaci.

  9. #19
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    ho letto il thread un pochino tardi... prova a vedere se questo vi può aiutare


    file config.php
    Codice PHP:
    <?php
    $pippo
    =126.000;
    $pluto="radio head";
    $topolino="casanova";
    ?>

    file replace.php
    Codice PHP:
    <?php 
    $file
    ='conf.php';

    if(isset(
    $_POST['save']))
      {
      
    $content=file_get_contents($file);
      
    preg_match_all('|\$[^\=]+\=[\'"]{0,1}.*[\'"]{0,1};|ismU',$content,$vars_coll);
      
    $vars=$vars_coll[0];
      
      foreach(
    $vars as $v_key=>$var)
        {
        if(
    strpos($var,"\${$_POST['campo']}=") !== false)
          {
          list(
    $v_name,$v_value)=explode("=",$var,2);
          
    preg_match('/([^\'"]*[^\'";])/i',$v_value,$old_value);
          
    $line_now=str_replace($old_value[0],$_POST['valore'],$var);
          
    $content=str_replace($var,$line_now,$content);
          }
        }  
      
    file_put_contents($file,$content);
      }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">
     <head>
      <meta name="generator" content="PSPad editor, [url]www.pspad.com[/url]" />
      <meta http-equiv="content-type" content="text/html; charset=utf-8" />
      
      <title>test</title>
     </head>
     <body>
      <form action="<?php echo $_SERVER['PHP_SELF'?>" method="post">
      <input type="hidden" name="save">
      <p algn="center">campo <input type="text" name="campo" />
      <p algn="center">valore <input type="text" name="valore" />  
      <input type="submit" name="invia" value="salva">
      </form>
           
     </body>
    </html>
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  10. #20
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    il forum fa casino con gli slash..

    scarica lo zip da qui
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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 © 2026 vBulletin Solutions, Inc. All rights reserved.