http://giupenni.altervista.org/guestbook.php
per farlo funzionare dovrei creare un file guestbook.data ...lo creo...ma non capisco perchè mi aggiunge nuove linee ma senza valori!!!
Perchè?
http://giupenni.altervista.org/guestbook.php
per farlo funzionare dovrei creare un file guestbook.data ...lo creo...ma non capisco perchè mi aggiunge nuove linee ma senza valori!!!
Perchè?
Se posti lo script (probablmente il problema è o nella parte che scrive il file o il db, o nella parte che lo legge) vediamo di trovare il problema.
| Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |
GVE = GVE Virtual Extension
AVCM #: 6637
qui il link giupenni.altervista.org/nosurrender.php
ovviamente ho creato un file di nome nosurrender.data per immagazzinare i
dati inseriti con permessi di lettura e scrittura...ma niente!!!
<?php
$error=false;
function setSurrender()
{
global $numero,$titolo,$n_cd,$formato;
$new_surrender_entry=
urlencode($numero).",".urlencode($titolo).",".urle ncode($n_cd).",".urlencode($formato)."\n";
//scrivo i valori delle variabili all'interno di un data file
$data=fopen("surrender.data",a) or exit;
fwrite($data,$new_surrender_entry);
fclose($data);
//resetto i valori inseriti nel form
$numero="";
$titolo="";
$n_cd="";
$formato="";
}
function getSurrender()
{
//leggo il file data
$data=fopen("surrender.data",r) or exit;
$rawdata=fread($data,filesize("surrender.data"));
fclose($data);
//se è vuoto
if($rawdata=="")
{ echo " EMPTY ";
return;
}
//metto tutto dentro un array
$data_line=explode("\n",$rawdata);
//ordino
rsort($data_line);
//se non è vuoto
$entries=count($data_line)-1;
echo "<p>Sto spacchio di coso contiene <b>$entries</b> elementi</p>";
//attraverso data e inserisco i valori in un array
for($k=0; $k<count($data_line)-1; $k++)
{
$temp=explode(",",$data_line[$k]);
$surrender[$k]["numero"] = $temp[0];
$surrender[$k]["titolo"] = $temp[1];
$surrender[$k]["n_cd"] = $temp[2];
$surrender[$k]["formato"] = $temp[3];
}
//visualizzo l'elenco
for($k=0; $k<count($surrender); $k++)
{
echo "<tr style=\"font-size:10pt; font-family:arial;\" align=\"center\"
><td width=\"25px\">";
echo htmlspecialchars(urldecode($surrender[$key]["numero"]));
echo "</td><td width=\"640px\">";
echo urldecode($surrender[$key]["titolo"]);
echo "</td><td width=\"60px\">";
echo urldecode($surrender[$key]["n_cd"]);
echo "</td><td width=\"75px\">";
echo urldecode($surrender[$key]["formato"]);
echo "</td></tr>";
}
}
if($sign_surrender)
{ if($numero != "" && $titolo != "" && $n_cd != "" && $formato != "")
{ getSurrender(); } else { $error=true; } }
?>
<!-- Inizio codice html -->
<html>
<head><title>..:: No Surrender ::..</title></head>
<body style="color: blue;">
<!-- Gestisco l'errore -->
<?php if($error){ ?>
<p><font face="arial" color="red"> ERRORE </font></p>
<?php } ?>
<form name=surrender method="post" action="nosurrender.php">
<font size="1">
N° <input name="nome" type="text" >
Titolo <input name="titolo" type="text" >
N° CD <input name="n_cd" type="text" >
Formato <input name="formato" type="text" >
</font>
<br>
<input type="hidden" name="sign_surrender" value="true"><input type="submit"
value="Submit"> <input type="reset" value="Reset">
</form>
<table border="1" bordercolor="black" cellpadding="0" cellspacing="0"
width="800px">
<tr style="font-size:10pt; font-family:arial;" align="center" ><td
width="25px">N°</td><td width="640px">TITOLO</td><td width="60px">N° CD<
td><td width="75px">FORMATO</td></tr>
<?php getSurrender(); ?>
</table>
</body>
</html>
Originalmente inviato da giupenniveramente il nome del file dovrebbe essere surrender.data senza il "no" davanti, da come si legge nel codice.//leggo il file data
$data=fopen("surrender.data",r) or exit;
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
sorry...il file creato è proprio surrender.data
...cioè, ti eri solo sbagliato a scriverlo QUI sul forum.. dunque il problema persiste??
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
si...mi ero sbagliato a scrivere sul forum..il problema persiste!!![/quote]
Come mai < count -1 ?? :
Salti l'ultimo elemento, lo fai appositamente o ti è sfuggito?//attraverso data e inserisco i valori in un array
for($k=0; $k<count($data_line)-1; $k++)
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
No no...è giusto così...ma il problema è che...1 nn mi stampa una nuova riga nella tabella...2 nn mi scrive sul file .data (credo...o maari nn legge...ma penso sia la prima, che nn scrive)Salti l'ultimo elemento, lo fai appositamente o ti è sfuggito?
Prova a sostituire $numero,$titolo,$n_cd,$formato con $_POST['numero'], $_POST['titolo'], ecc. (solo le variabili passate tramite il form).
| Regolamento del Forum | Regolamento di AlterVista | FAQ di AlterVista | Netiquette |
GVE = GVE Virtual Extension
AVCM #: 6637
dici qui, no?Originalmente inviato da gve
global $numero,$titolo,$n_cd,$formato;
ho sostituito
global $numero,$titolo,$n_cd,$formato;
con
global $_POST['numero'],$_POST['titolo'],$_POST['n_cd'],$_POST['formato'];
ma così facendo la pagina mi appare bianca
No no, non intendeva così..
Cioè, aspetta chiariamo un attimo.. il codice l'hai creato tu giusto?
Non capisco come possa funzionare.. non vieme MAI richiamata la funzione setSurrender.. non si sa bene (quello che si chiedeva gve suppongo) dove prendi i valori inviati dal form col method POST per l'appunto.. forse sarebbe meglio che ti vedi un esempietto base con un form che si invia da solo ($PHP_SELF) dei dati..
se invece ci sfugge qualcosa forse è meglio che ci spieghi parlandone un po' di come dovrebbe funzionare.
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
Dunque ?Originalmente inviato da heracleum
Voglio creare una sorta 'd'elenco' che riceva gli input dal form e li inserisca in una nuova riga (con relative colonne) nella tabella sottostante il form sempre nella 'stessa' pagina...e che ovviamente memorizzi il tutto!!!Originalmente inviato da heracleum
Quello che ti voglio dire è che: dato che pare questo sia il tuo primo esperimento php con un form che posta i dati a se stesso per gestirli una volta ricevuti, consigliavo di vederti un attimo un esempietto qualsiasi, meno complesso, di questo tipo (un classico); per esempio sempre io e gve abbiamo fatto più o meno lo stesso discorso con lionalex pochi giorni fa, dunque puoi leggerti questo thread:
http://www.altervista.org/forum/view...ight=form+post
Qui vedi molti consigli, chiarimenti e c'è anche un pezzo di codice schematizzato scritto da gve a metà discorso, che riassume la struttura di un file php con questo intento. Dunque metti da parte un attimo la lettura e scrittura da file, e assicurati che nel tuo codice ci sia il corretto passaggio e valutazione dei valori inseriti nel form.
Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)
Quell'esempio nn mi è tanto chiaro o cmq nn rispecchia al 100% il mio problema...non è che avresti un link dove poter dare una sbirciara a degli esempi più semplici che potrebbero fare al caso mio?