Visualizzazione risultati 1 fino 9 di 9

Discussione: Variabile in grassetto

  1. #1
    Guest

    Predefinito Variabile in grassetto

    Raga scusatemi se sono ancora qui ,ma avrei bisogno di una mano,sto cercando di fare da solo,ma sbaglio in continuazione,dunque ora vorrei che una variabile e cioe $nome fosse in grassetto,ma il problema è che mi mette in grassetto anche altre varibili,un po' come vuole lui:

    ecco come ho fatto :

    <?php
    echo "Ecco i vostri annunci<br>";
    if (!$apri = fopen("file.txt","r")){
    echo "Non posso aprire il file";
    }else{

    #Se il file si può leggere allora con un ciclo while

    # leggo tutte le righe del mio file
    while(!feof($apri)){
    $nome = fgets($apri, 255);
    $nome = "<b>$nome</b>";
    echo "$nome<BR>";
    $recapito = fgets($apri, 255);
    echo "$recapito<BR>";
    $oggetto = fgets($apri, 255);
    echo "$oggetto<BR>";
    $linea = fgets($apri, 255);
    echo "$linea<BR>";
    $linea = fgets($apri, 255);
    echo "$linea<BR>";
    }
    }
    fclose($apri);
    ?>

    Mi mette in grassetto pero' anche recapito,ma nell'annuncio che sta sotto,aiuto,ecco il risultato
    Ultima modifica di djperfeste : 12-09-2005 alle ore 12.18.02

  2. #2
    Guest

    Predefinito

    E' perchè il file non ha ogni 5 linee un nome, ma ogni 4 per quanto vedo. Ti faccio un esempio per capire meglio:

    Il file può essere così:
    Codice:
    nome_1
    recapito_1
    oggetto_1
    
    nome_2
    recapito_2
    oggetto_2
    
    nome_3
    ...
    ora tu pigli 5 linee ogni ciclo del while, ma la 5° linea è la prima del secondo ciclo...così risulta tutto spostato di una riga a ogni ciclo fino all'infinito

  3. #3
    Guest

    Predefinito

    Grazie per la risposta,ma se non metto tutte le 5 variabili,non mi da la linea separatrice e mi da solo un annuncio e non tutti quelli contenuti nel txt.
    Cioè se mettessi solo 3 varibili,mi darebbe solo un nome,un recapito e un oggetto,ma tutti gli altri no.

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da djperfeste
    Grazie per la risposta,ma se non metto tutte le 5 variabili,non mi da la linea separatrice e mi da solo un annuncio e non tutti quelli contenuti nel txt.
    Cioè se mettessi solo 3 varibili,mi darebbe solo un nome,un recapito e un oggetto,ma tutti gli altri no.
    mi sembra assurdo! Posso vedere il contenuto del file file.txt?

  5. #5
    Guest

    Predefinito

    Si certo scusa per il ritardo,ecco:
    nome
    recapito
    oggetto
    <img src=>
    <hr color=red>gino
    via trelli 4
    che ne so
    <img src=>
    <hr color=red>dfdfdf
    fddf
    dfdfdf
    <img src=>
    <hr color=red>



    mI SEMBRA COMUNQUE NECESSARIO allegarti anche il file upload.php

    <?
    //percorso della cartella dove mettere i file caricati
    $uploaddir = '/home/httpd/vhosts/';

    if (!empty($_POST['nome'])){
    $nome = $_POST['nome'];

    }
    if (!empty($_GET['nome'])){
    $nome = $_GET['nome'];
    }

    if (!empty($_POST['recapito'])){
    $recapito = $_POST['recapito'];

    }
    if (!empty($_GET['recapito'])){
    $recapito = $_GET['recapito'];
    }


    if (!empty($_POST['oggetto'])){
    $oggetto = $_POST['oggetto'];

    }
    if (!empty($_GET['oggetto'])){
    $oggetto = $_GET['oggetto'];
    }


    echo "<center>";
    echo "Ciao ecco i risultati del tuo inserimento:";
    $errore= false;

    If((!$nome) || (!$recapito) || (!$oggetto)) {

    #controllo che nessun campo sia vuoto
    $errore=true;
    echo "Non hai compilato tutti i campi <a href=\"uno.htm\">torna indietro</a>";
    exit;
    }
    else{
    echo " i campi sono ok";
    }


    //Recupero il percorso temporaneo del file
    $userfile_tmp = $_FILES['userfile']['tmp_name'];

    //recupero il nome originale del file caricato
    $userfile_name = $_FILES['userfile']['name'];

    print "<pre>";
    //copio il file dalla locazione temporanea alla mia cartella upload
    if (move_uploaded_file($userfile_tmp, $uploaddir . $userfile_name))
    {
    //Se l'operazione è andata a buon fine...
    print "File inviato con successo. Ecco alcune informazioni:\n";
    print_r($_FILES);
    }
    else
    {
    //Se l'operazione è fallta...
    print "Upload NON valido! Alcune informazioni:\n";
    print_r($_FILES);
    }
    print "</pre>";

    echo "<HR>";


    #controllo che il file sia accessibile
    if (!$apri = fopen ("file.txt","a+")) {
    $errore=true;
    echo "non posso aprire il file";
    }else{
    $apriw = fopen ("file.txt","a+");

    #ora creo una variabile che contiene la linea di reparazione
    $linea ="<hr color=red>";
    # e sul file scrivo nome e vado a capo,il recapito e vado a capo

    # l'oggetto e vado a capo e la linea ti separazione
    fputs($apriw,"$nome\n");
    fputs($apriw,"$recapito\n");
    fputs($apriw,"$oggetto\n");
    fputs($apriw,"<img src=$userfile_name>\n");
    fputs($apriw,"$linea|");

    #chiudo il file
    fclose($apriw);
    }

    #se c'e l'errore mi dice di inserirli di nuovo altrimenti mi fa leggere gli annunci
    if($errore){
    echo"<br> Riinseriscili perfavore<br>";
    }
    else{
    echo "<br> <a href=\"annunci.php\">leggi gli annunci</a>";
    }


    ?>

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Beh ma certo,
    perché non inserisci uno \n di invio anche alla fine della riga della linea separatrice???
    fputs($apriw,"$linea|");
    aggiungici
    fputs($apriw,"$linea|\n");

    visto che non c'è lo \n
    il nome dell'annuncio seguente viene incollato nella STESSA RIGA della linea precedente, quindi c'è sempre una linea in meno!

    MA soprattutto... che senso ha mettere un elemento che si RIPETE sempre dentro il file dei dati??? non capisco.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    Guest

    Predefinito

    Scusami,son tornato ora,ok provo a mettere in pratica e ti faccio sapere,ancoraq grazie

    Ok ho provato come hai detto tu ad aggiungere \n

    fputs($apriw,"$linea|\n");

    Ma il risultato è questo.
    Ho provato ad inserire un altro annuncio come vedi,ma nessuna delle varibali è in grassetto,bho non capisco piu' nulla.
    Ultima modifica di djperfeste : 12-09-2005 alle ore 21.45.22

  8. #8
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    uhm... non capisco come sia possibile che il carattere "pipe" cioè | che vedo dopo $linea compaia UNA volta sola alla fine di TUTTI gli annunci.. mentre mi aspettavo che comparisse (come scritto nel file) dopo ogni $linea...
    cono confuso..

    o meglio ma che ci fa quel pipe là???
    quantomeno prova a mettere lo \n prima del pipe | , ma ancora meglio toglilo:
    fputs($apriw,"$linea\n");

    COmunque ribadisco l'inutilità di inserire la riga del separatore linea ogni volta nel file..
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  9. #9
    Guest

    Predefinito

    Posso passarti i tre file che compongolo script via pm?

Regole di scrittura

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