Problema con la creazione di una tabella form

Salve a tutti, sono nuovo del forum. :)
Mr webmaster è un bel sito e spesso ho risolto problemi con le sue guide e i suoi esempi pratici e script.

Adesso, nel mio sito, avendo un form php ho iniziato ad avere difficoltà man mano che continuo a completarlo, quindi ho bisogno di un aiuto, motivo per cui ho scelto di registrarmi presso questo interessante forum.

Quindi adesso cerco di spiegare il problema: c'è una pagina contenente il modulo ed è perfettamente funzionante,
un'altra invece ne elabora e invia i dati ad una pagina che io preferisco, anche questo funziona.

Adesso posto il codice della pagina che elabora, perchè è li che sto cercando di fare un cambiamento che ne influenzerà la visualizzazione nella pagina di stampa.

PHP:
$db = "ricevi.php"; // in questo file salvo i dati.
$fp = fopen($db, "a+");
fwrite($fp," <b>Localita:</b> " . $_POST["localita"] . " 
| <b>Altitudine:</b> " . $_POST["altitudine"] . "mslm 
| <b>Condizioni:</b> " . $_POST["stato"] . "  
| <b>Temperatura:</b> " . $_POST["temperatura"] . " " . $_POST["temperatura2"] . "" . $_POST["temperatura3"] . " 
| <b>Pressione:</b> " .  $_POST["pressione"] . "" .  $_POST["pressione2"] . " 
| <b>Vento:</b> " . $_POST["vento"] . "  " . $_POST["vento2"] . " 
| <b>Umidita:</b> " . $_POST["umidita"] . " 
| <b>MeteoReporter:</b> " . $_POST["nikname"] . " 
| <b>Ore:</b> " . $_POST["orario"] .  "\r\n"); // salvo i dati nel file
fclose($fp);
in questo modo quando invio i dati con il pulsante la pagina li elabora e me li restituisce in una riga con questo separatore |

Come posso modificare il codice in modo che i dati vengono stampati ordinati in righe e colonne cioè in tabella?
Io ci sto uscendo pazzo da giorni, ho provato ad inserire in varie posizioni tr e td ma mi da errore.. spero di trovare la soluzione perchè ho visto che il php è più difficile dell' html
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
vuoi salvarli già in tabella oppure continuare a salvarli con il separatore | e solo visualizzari tabellati?
perchè se li vuoi salvare già tabellati basta che tu inserisca nella stringa i vari tag <table><tr><td>...</td>...</tr>....</table> nello stesso modo in cui costruiresti una tabella in html, l'altro forse è un tantino più complesso, quando visualizzi dovrai espoldere le vatrie righe e le varie righe nei ripettivi campi
 
Ciao, beh, vorrei che si salvassero in tabella direttamente.

Tipo cosi :)

http://meteomessina.altervista.org/segnalazioni/tabella.php

Ecco ho provato cosi ma mi da errore

PHP:
<?php
$db = "ricevi.php"; // in questo file verranno salvati i dati.
$fp = fopen($db, "a+");
fwrite($fp,
echo "<table border=\"1\"> \n";
echo "<tr>\n";
echo "<th>Localit&agrave;</th> \n";
echo "<th>Altitudine</th> \n";
echo "<th>Condizioni</th> \n";
echo "<th>Temperatura</th> \n";
echo "<th>Pressione</th> \n";
echo "<th>Vento</th> \n";
echo "<th>Umidit&agrave;</th> \n";
echo "<th>Reporter</th> \n";
echo "<th>orario</th> \n";
echo "\r\n";
echo "<tr> \n";
echo "<td>---</td>\n";
echo "<td>---</td> \n";
echo "<td>---</td>\n";
echo "<td>---</td> \n";
echo "<td>---</td>\n";
echo "<td>---</td> \n";
echo "<td>---</td>\n";
echo "<td>---</td> \n";
echo "<td>---</td>\n";
echo "\r\n"); // salvo i dati nel file
fclose($fp);  
?>
Dove sbaglio?
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
con fwrite salvi il file per cui gli echo NON c'entrano
io dicevo così se vuoi salvarlo in forma tabellare (la prima in orizzontale la seconda in verticate

PHP:
fwrite($fp,
"<table>
<tr>
<td><b>Localita:</b></td>
<td><b>Altitudine:</b></td>
...eccc...
</tr>
<tr>
<td>".$_POST["localita"]."</td>
<td>".$_POST["altitudine"]."</td>
...eccc...
</tr>
</table>");
PHP:
fwrite($fp,
"<table>
<tr><td><b>Localita:</b></td><td>".$_POST["localita"]."</td></tr>
<tr><td><b>Altitudine:</b></td><td>".$_POST["altitudine"]."</td></tr>
...eccc...
</table>");
quando andrai a visualizzare il file (che dovrai leggere) ricevi.php lo vedrai tabellato
(non sono molto esperto nei file scritti in questo modo, ma mi sembra che fwrite salvi i file in formato .txt)
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
23
Roma
alessandro1997.netsons.org
Non capisco cosa c'entra echo. Devi salvare i dati nel file, mica stamparli a video. Lo script completo e funzionante dovrebbe essere il seguente:
PHP:
<?php
// inizializza il file ricevi.php se non esiste
if (!is_file('ricevi.php')) {
    $table = <<<EOF
<table border="1">
    <tr>
        <th>Localit&agrave;</th>
        <th>Altitudine</th>
        <th>Condizioni</th>
        <th>Temperatura</th>
        <th>Pressione</th>
        <th>Vento</th>
        <th>Umidit&agrave;</th>
        <th>Reporter</th>
        <th>Orario</th>
    </tr>
    
    <tr>
        <td>---</td>
        <td>---</td>
        <td>---</td>
        <td>---</td>
        <td>---</td>
        <td>---</td>
        <td>---</td>
        <td>---</td>
        <td>---</td>
    </tr>
</table>
EOF;
    file_put_contents('ricevi.php', $table);
}

// legge le righe del file e le inserisce in un array
$lines = file('ricevi.php');

// rimuove l'ultima riga (</table>)
unset($lines[count($lines) - 1]);

// crea la nuova riga
$new_lines = <<<EOF
    <tr>
        <td>{$_POST['localita']}</td>
        <td>{$_POST['altitudine']} mslm</td>
        <td>{$_POST['stato']}</td>
        <td>{$_POST['temperatura']} {$_POST['temperatura2']} {$_POST['temperatura3']}</td>
        <td>{$_POST['pressione']} {$_POST['pressione2']}</td>
        <td>{$_POST['vento']} {$_POST['vento2']}</td>
        <td>{$_POST['umidita']}</td>
        <td>{$_POST['nikname']}</td>
    </tr>
EOF;

// aggiunge la riga al file
$new_lines = explode(PHP_EOL, $new_lines);
$lines = array_merge($lines, $new_lines);

// aggiunge la chiusura della tabella
$lines[] = '</table>';

// unisce l'array delle righe
$contents = implode(PHP_EOL, $lines);

// sovrascrive il file
unlink('ricevi.php');
file_put_contents('ricevi.php', $contents);
?>
 
Si ecco! :)
Adesso funziona e i dati vengono intabellati, ho messo anche il bordo = )

Codice:
<table border='1'>
Siete stati davvero gentilissimi, non so come posso ringraziarvi :fonzie:

Era da tempo che tentavo... Grazie ancora!

Spero che potrò essere un aiutante per tutti gli utenti, visto che sono iscritto da oggi. :book: :eek:

Posso aiutarvi in qualcosa ?
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao

Posso aiutarvi in qualcosa ?
certooo...segui il forum e se sai rispondere alle richieste di qualche furumista fallo.
inoltre se al contrario hai dei dubbi ... postali.

comunque salve al nuovo iscritto: "un iscritto al giorno toglie il moderatore di torno":rolleyes: