Visualizzazione risultati 1 fino 19 di 19

Discussione: scrivere il nome di una variabile

  1. #1
    Guest

    Predefinito scrivere il nome di una variabile

    Sto cercando di fare uno script php che scriva il nome di una variabile in un file txt... solo che non so come fargli fare scrivere solo il nome e non il valore! Qualcuno sa dirmi come si fa? Il codice è questo
    Codice:
    <?
            include("numero.txt"); 
            $num=fopen("numero.txt", "w");
            	$numero=$numero+1;
            	fputs($num, "$numero=".$numero);
    	fclose($num);
    
    	$fp=fopen("post".$numero, "a");
    		$txt = trim($_POST['testo']);
    		$titolo = trim($_POST['titolo']);
    		$testo = $txt . "<br><br>\n";
    		$nome="<B>" . $titolo . "</B><BR> ";
    		fputs($fp, $nome);
    		fputs($fp, $testo);
    	fclose($fp);
    
    	for($n=1; $n=$numero; $n++){
    	include("post".$n);
    	}
    ?>
    Un' altra cosa che vorrei fare e non so ancora esattamente come fare è che non dovrebbe creare un file ( e aggiungere un numero alla variabile ) ogni volta che apro la pagina ma solo ogni volta che scrivo qualcosa attraverso il form (che si trova in un' altra pagina rispetto a questa)



    EDIT:ops ho sbagliato sezione..


    FunCool: Sposto nella sezione dedicata al PHP.
    Ultima modifica di funcool : 26-04-2007 alle ore 08.48.37

  2. #2
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    Citazione Originalmente inviato da AmeHomePage
    Un' altra cosa che vorrei fare e non so ancora esattamente come fare è che non dovrebbe creare un file ( e aggiungere un numero alla variabile ) ogni volta che apro la pagina ma solo ogni volta che scrivo qualcosa attraverso il form (che si trova in un' altra pagina rispetto a questa)
    beh questo è facile !
    Codice HTML:
    <form ...>
    ...
    <input type=submit name="NOME_PULSANTE" value="clicca qui">
    </form>
    Codice PHP:
    if(!empty($_POST['NOME_PULSANTE'])){
    // esegui questo codice se hai premuto il pulsante
    }
    Citazione Originalmente inviato da AmeHomePage
    Sto cercando di fare uno script php che scriva il nome di una variabile in un file txt... solo che non so come fargli fare scrivere solo il nome e non il valore! Qualcuno sa dirmi come si fa? Il codice è questo: [...]
    Spiega meglio, per favore. Com'è dichiarata la variabile? Se è un vettore di variabili globali ($_POST,$_GET ecc) usa
    Codice PHP:
    foreach($_POST as $key=>$value)
    $var = $key;
    lasciando stare 'value'.
    Se invece è dichiarata semplicemente variabile = valore non credo sia fattibile... è più facile fare il contrario ovvero creare una variabile che ha per nome una parola data:
    Codice PHP:
    $parola = "variabile";
    $
    $parola = "valore"; // $variabile = "valore";
    Luffio Web Site, Luffio's personal site
    Age Of Empires GIF, sito per la creazione di GIF animate di Age of Empires
    Clan italiano di Age of Empires The Conquerors, uno dei più vecchi ancora attivi

  3. #3
    Guest

    Predefinito

    in pratica funziona così: nel file numero.txt c'è scritto $numero=0 e ogni volta che io voglio aggiungere un post dovrebbe aumentare il numero di uno (così posso creare tanti file col testo dei vari post e includerli in ordine)..
    capito cosa mi servirebbe? come potrei fare? Non ho molta esperienza in php quindi non so bene...



    EDIT: ho risolto quel problema ma dev'esserci lo stesso qualche errore di sintassi perchè quando metto un post me lo ripete un' infinità di volte... eppure sul file lo scrive una volta sola... cosa ne pensate? Il codice adesso è :
    Codice PHP:
    <?
    $numero
    =include("numero");
    if(!empty(
    $_POST['pulsante']))
    {
    $num=fopen("numero", "w");
    $numero=$numero+1;
    fputs($num, $numero);
    fclose($num);
    }

    $fp=fopen( "post".$numero, "a");
    $txt = trim($_POST['testo']);
    $titolo = trim($_POST['titolo']);
    $testo = $txt.'<br><br>\n';
    $nome = '<B>'.$titolo . '</B><BR>';
    fputs($fp, $nome);
    fputs($fp, $testo);
    fclose($fp);

    for(
    $n=1; $n=$numero; $n++)
    {
    include(
    "post".$n );
    }
    ?>
    Ultima modifica di AmeHomePage : 25-04-2007 alle ore 18.02.34

  4. #4
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    Domanda 1: Hai controllato tutti i file creati e danno effettivamente cosa chiedi?
    Domanda 2: Non mi è chiaro cosa fa il comando
    Codice PHP:
    $numero=include("numero");
    ... fa quello che ti aspetti?
    Domanda 3: Ma questi file non hanno estensione?

    Per ulteriore controllo hai provato a stampare a video passo passo il risultato di ogni operazione?

    Precisazione:
    Codice PHP:
    $txt = trim($_POST['testo']);
    $titolo = trim($_POST['titolo']);
    questo codice è fuori dall' if di
    Codice PHP:
    if(!empty($_POST['pulsante']))
    , può essere un errore...
    Ultima modifica di Luffio : 25-04-2007 alle ore 18.27.19
    Luffio Web Site, Luffio's personal site
    Age Of Empires GIF, sito per la creazione di GIF animate di Age of Empires
    Clan italiano di Age of Empires The Conquerors, uno dei più vecchi ancora attivi

  5. #5
    Guest

    Predefinito

    Allora:
    1) I file creati sono quelli che dovrebbero essere, e dentro c'è scritto esattamente quello che dovrebbe esserci.. all' inizio non so perchè creava un file in più ma dopo aver modificato lo script non l' ha più fatto (non so bene cosa ho modificato sarà stato qualche errore di distrazione)
    2) In pratica nel file invece che mettere $numero=0 ho messo solo il numero così in quel modo in teoria dovrei riuscire a dare alla variabile $numero il valore che c'è scritto nel file (in pratica mi sa che non è così visto il risultato)


    Per la precisazione, quel codice (almeno in teoria dovrebbe funzionare perchè l' ho riciclato da un guestbook che ho creato un po' di tempo fa e lì funzionava tutto a dovere.. (però tutti i post erano su un file solo....)


    Credo che il problema sia dovuto al fatto che non dà il giusto valore alla variabile $numero però il nome al file lo dà giusto, quindi questo pezzo
    Codice PHP:
    $fp=fopen( "post".$numero, "a");
    funziona... e infatti anche il numero scritto nel file è corretto... cosa ne pensi?
    Il for non mi sembra contenga errori no? potrebbe essere un problema che ho messo nel for $n=$numero?

  6. #6
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    Codice PHP:
    echo $numero=include("numero");
    l'hai provato?
    Codice PHP:
    for($n=1; $n=$numero; $n++)
    ahhh "=" nella condizione?? "<=" !! Eeeecco l'errore
    Luffio Web Site, Luffio's personal site
    Age Of Empires GIF, sito per la creazione di GIF animate di Age of Empires
    Clan italiano di Age of Empires The Conquerors, uno dei più vecchi ancora attivi

  7. #7
    Guest

    Predefinito

    immaginavo fosse lì il problema... come va messo allora?

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Codice PHP:
    for($n=1; $n<=$numero; $n++)
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Predefinito

    continua a non funzionare... eppure non sembra uno script tanto difficile!!!!
    Ho fatto echo $numero... e quando dovrebbe essere 2 a volte scrive 2 e a volte 21... non ho ancora capito bene perchè.. (anche perchè nel file c'è scritto il numero giusto, ho controllato personalmente) intanto ho cambiato il for per far stampare i post dal più nuovo al più vecchio
    Codice PHP:
    for($n==$numero; $n=0; $n--)
    e per qualche ragione che non capisco non scrive niente..

  10. #10
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    idem come sopra:
    Codice PHP:
    for($n=$numero; $n>=0; $n--)
    http://php.html.it/guide/lezione/2650/i-cicli
    il for è un while accorciato
    Luffio Web Site, Luffio's personal site
    Age Of Empires GIF, sito per la creazione di GIF animate di Age of Empires
    Clan italiano di Age of Empires The Conquerors, uno dei più vecchi ancora attivi

  11. #11
    Guest

    Predefinito

    E per il numero che risulta sbagliato ? (La cosa strana è che quasi sempre lo legge sbagliato ma certe volte invece lo legge giusto!) L' errore non sta sicuramente nella parte dello script che scrive il numero perchè ho provato anche a scriverlo manualmente...


    PS come mai con $n=0 non andava bene?
    Ultima modifica di AmeHomePage : 29-04-2007 alle ore 20.44.56

  12. #12
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    Citazione Originalmente inviato da AmeHomePage
    E per il numero che risulta sbagliato ? (La cosa strana è che quasi sempre lo legge sbagliato ma certe volte invece lo legge giusto!) L' errore non sta sicuramente nella parte dello script che scrive il numero perchè ho provato anche a scriverlo manualmente...


    PS come mai con $n=0 non andava bene?
    il "for" l'hai sempre scritto sbagliato qui sul forum... ma sai come funge?
    Codice PHP:
    for( inizializzazione ; condizione ; incremento/decremento )
    Luffio Web Site, Luffio's personal site
    Age Of Empires GIF, sito per la creazione di GIF animate di Age of Empires
    Clan italiano di Age of Empires The Conquerors, uno dei più vecchi ancora attivi

  13. #13
    Guest

    Predefinito

    certo, e perchè nella condizione non va bene $a=0 ad esempio? Quando la variabile arriva a valere 0 il ciclo deve smettere... cmq anche così non so perchè scrive solo il primo post..

  14. #14
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    $a=0 non va bene perchè è una inizializzazione (non è aritmetica...), invece $a==0 è una condizione.
    Prova a postare lo script modificato
    Luffio Web Site, Luffio's personal site
    Age Of Empires GIF, sito per la creazione di GIF animate di Age of Empires
    Clan italiano di Age of Empires The Conquerors, uno dei più vecchi ancora attivi

  15. #15
    Guest

    Predefinito

    Lo script è questo..
    Codice PHP:
    <?
    $numero
    =include("numero");
    echo
    "<b>$numero</b>";
    if(!empty(
    $_POST['pulsante']))
    {
    $num=fopen("numero", "w");
    $numero=$numero+1;
    fputs($num, $numero);
    fclose($num);


    $fp=fopen( "post".$numero, "a");
    $txt = trim($_POST['testo']);
    $titolo = trim($_POST['titolo']);
    $testo = $txt.'<br><br>\n';
    $nome = '<B>'.$titolo . '</B><BR>';
    fputs($fp, $nome);
    fputs($fp, $testo);
    fclose($fp);
    }
    for(
    $n=3; $n>=0; $n=$n-1)
    {
    echo
    $n;
    }

    ?>
    ho messo echo $n nel for per vedere se funzionava.. poi scriverò
    Codice PHP:
    include("numero".$n);
    ho verificato che effettivamente sbaglia a dare il valore a $numero (tramite l' echo che c'è subito sotto la variabile) e gli dà come valore 1 è per questo che il for non funziona.. eppure nel file c'è scritto il numero giusto

  16. #16
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    per forza, credo di aver capito... la scrittura che usi tu
    Codice PHP:
    $numero=include("numero");
    assegna a $numero 1 se l'inclusione è avvenuta, 0 se non riesce perchè non esiste il file.
    Devi proprio aprire il file e prelevare il numero.
    Luffio Web Site, Luffio's personal site
    Age Of Empires GIF, sito per la creazione di GIF animate di Age of Empires
    Clan italiano di Age of Empires The Conquerors, uno dei più vecchi ancora attivi

  17. #17
    Guest

    Predefinito

    potresti dirmi come si fa? Perchè come avrai capito non ho molte conoscenze di php..

  18. #18
    L'avatar di Luffio
    Luffio non è connesso Utente attivo
    Data registrazione
    02-07-2006
    Messaggi
    439

    Predefinito

    quello che uso io:
    Codice PHP:
    $p = fopen("numero","r");
    fseek($p,0,SEEK_END);
    $e = ftell($p);
    fseek($p,0,SEEK_SET);
    $numero = fread($p,$e);
    fclose($p);
    Luffio Web Site, Luffio's personal site
    Age Of Empires GIF, sito per la creazione di GIF animate di Age of Empires
    Clan italiano di Age of Empires The Conquerors, uno dei più vecchi ancora attivi

  19. #19
    Guest

    Predefinito

    Oh! Finalmente funziona!

    GRAZIE!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •