errore di un form

  • Creatore Discussione Creatore Discussione andy2481
  • Data di inizio Data di inizio

andy2481

Utente Attivo
10 Dic 2012
142
0
0
premetto che oggi è la mia prima volta che provo a scrivere pagina php e naturalmente non poteva che darmi un errore posto il codice php mi date un occhiata???
PHP:
<?php
	$nome = $_POST["nome"];
        $E-mail = $_POST["email"];
        $commento = $_POST["commento"];
        
        
        $file = fopen("commenti.html", "a+");
        fwite($file, "commento di ".$nome.": </br> ".$E-mail. </br>".$commento."</br> "."<hr> </br>");
        fclose($file);
        Echo "commento pubblicato con successo";
?>

questo è l'errore che mi da:
Parse error: syntax error, unexpected '=' in /membri/andreadinapoli/commenti.php on line 6
 
PHP:
fwite($file, "commento di ".$nome.": </br> ".$E-mail. </br>".$commento."</br> "."<hr> </br>");

se guardi bene in questa riga manca un doppio apice tra $E-mail. e </br>".$com ;)
 
PHP:
<?php 
    $nome = $_POST["nome"]; 
        $Email = $_POST["email"]; 
        $commento = $_POST["commento"]; 
         
         
        $file = fopen("commenti.html", "a+"); 
        fwite($file, "commento di ".$nome.": </br> ".$Email."</br>".$commento."</br> <hr> </br>"); 
        fclose($file); 
        Echo "commento pubblicato con successo"; 
?>
Nel nome di una variabile non puoi usare il carattere '-'
 
grazie

grazie!!! ma ora non fa altro che darmi una pagina bianca e in commenti .html non è scritto nessun messaggio
 
grazie!!! ma ora non fa altro che darmi una pagina bianca e in commenti .html non è scritto nessun messaggio
Invii correttamente le variabili (posta eventualmente il form)? Hai permessi sufficenti? Inoltre usa file_put_contents fai prima ed è uguale
 
ok

Hai permessi sufficenti? cosa intendi per permessi suffucienti ??? i file li ho caricati su altervista dv ho un sito vecchietto



HTML:
<html>
<body>
<form name="parere" action="commenti.php" method="post"type="text">
<table border="0" cellspacing="5" cellpadding="5">
<tr>
<td>Nome:</br></td><td><input type="text" name="nome" size="35" maxlength="40" value=""></td>
</tr><tr>
<td>E-mail o Sito Web:</br></td><td><input type="text" name="email" size="35" maxlength="40" value=""></td>
</tr><tr>
<td valign="middle">Inserisci<br>qui di lato <br>il tuo commento</td>
<td><textarea name="commento" rows="4" cols="30"></textarea></td></tr>
<tr><td></td><td><input type=submit value="Invia i Dati"><input type=reset value="Annulla"></td></tr>
</table>
</form>

<iframe src="/commenti.html" id="inserzione" name="inserzione" width="900" height="250" marginwidth="3" marginheight="3" frameborder="1">
</iframe>

</body>
</html>
 
Ultima modifica di un moderatore:
Hai permessi sufficenti? cosa intendi per permessi suffucienti ??? i file li ho caricati su altervista dv ho un sito vecchietto



[HTML<html>
<body>
<form name="parere" action="commenti.php" method="post"type="text">
<table border="0" cellspacing="5" cellpadding="5">
<tr>
<td>Nome:</br></td><td><input type="text" name="nome" size="35" maxlength="40" value=""></td>
</tr><tr>
<td>E-mail o Sito Web:</br></td><td><input type="text" name="email" size="35" maxlength="40" value=""></td>
</tr><tr>
<td valign="middle">Inserisci<br>qui di lato <br>il tuo commento</td>
<td><textarea name="commento" rows="4" cols="30"></textarea></td></tr>
<tr><td></td><td><input type=submit value="Invia i Dati"><input type=reset value="Annulla"></td></tr>
</table>
</form>

<iframe src="/commenti.html" id="inserzione" name="inserzione" width="900" height="250" marginwidth="3" marginheight="3" frameborder="1">
</iframe>

</body>
</html>][/HTML]
Non serve il type all'inizio del form comunque hai messo fwite invece di fwrite(in commenti.php) lol

Per non incombere in questi inconvenienti si dovrebbe sempre settare la visibilità per ogni tipo di errore

es.
PHP:
error_reporting(E_ALL);
oppure dalla configurazione
 
si

si me ne ero accorto sai cosa succede ho provato senza interesse a linkarlo in internet explorer e funziona come mai??? mi da i 2 ultimi commenti che ho scritto
 
funziona

funziona ma non del tutto questa funzione non me la da ed io non posso far ritornare l'utente alla pagina per visualizzare il commento
Echo "commento pubblicato con successo clicca qui" ;(esempio)
 
funziona ma non del tutto questa funzione non me la da ed io non posso far ritornare l'utente alla pagina per visualizzare il commento
Echo "commento pubblicato con successo clicca qui" ;(esempio)
Vuoi dire che non riesci a fare un redirect verso la pagina? Potresti usare un meta refresh insieme al messaggio di conferma
 
salve

sto cercando di smanettare un po con questo form e credo pero di aver fatto solo un cumolo ci codice
senza senzo ma aspetta a voi giudicare.
io mi sono mantenuto sul metodo che prima funzionava ma ora mi da di nuovo errore ma credo di aver eseguito tutto allo stesso modo forse mi sbaglierò???
PHP:
<?php  
    $nome = $_POST["nome"];  
        $Email = $_POST["email"];  
        $commento = $_POST["commento"];
        $come_sei_arrivato = $_POST["come_sei_arrivato"];
        $come = $_POST["come"];
        $giudizio = $_POST["pessimo"];
        $giudizio = $_POST["mediocre"];
        $giudizio = $_POST["sufficiente"];
        $giudizio = $_POST["buono"];
        $giudizio = $_POST["ottimo"];
        $giudizio = $_POST["non saprei"];
        $eta = $_POST["0-15"];
        $eta = $_POST["16-25"];
        $eta = $_POST["26-35"];
        $eta = $_POST["36-45"];
        $eta = $_POST["46-55"];
        $eta = $_POST["55+"];
        $file  = fopen("commenti.html", "a+");  
        fwrite($file , "commento di ".$nome.": ".$Email."<br />".$commento."<br />" come sei arrivato su papillon-events ".$come_sei_arrivato." ".$come." <br /> "come giudichi la giuda ".$giudizio." <br /> se vuoi puoi dirmi la tua eta ".$eta." <hr> <br />");  
        fclose($file);  
        
       
?>


pero non ridete
 
PHP:
fwrite($file , "commento di $nome: $Email<br />$commento<br /> come sei arrivato su papillon-events $come_sei_arrivato $come <br /> come giudichi la giuda $giudizio <br /> se vuoi puoi dirmi la tua eta $eta <hr> <br />");
Dato che usi le doppie virgolette le variabili mettile all'interno e stai attento quando le concateni

PHP:
$giudizio = $_POST["pessimo"]; 
        $giudizio = $_POST["mediocre"]; 
        $giudizio = $_POST["sufficiente"]; 
        $giudizio = $_POST["buono"]; 
        $giudizio = $_POST["ottimo"]; 
        $giudizio = $_POST["non saprei"]; 
        $eta = $_POST["0-15"]; 
        $eta = $_POST["16-25"]; 
        $eta = $_POST["26-35"]; 
        $eta = $_POST["36-45"]; 
        $eta = $_POST["46-55"]; 
        $eta = $_POST["55+"];
Hem? Cosa volevi gestire del form?

Inoltre dai un'occhiata alla funzione htmlspecialchars per rendere sicuro eventuale codice html/js esterno nelle variabili
 
capito

la select è queta e va bene stampa a video in maniera precisa
PHP:
$come_sei_arrivato = $_POST["come_sei_arrivato"];

mentre queste sono dei radio button ma non funzionano
PHP:
 $giudizio = $_POST["mediocre"]
PHP:
 $eta = $_POST["0-15"];
 
ciao
può essere che mi sbagli, ma mi sembra che tu stia facendo un po' di cas..o
da quello che vedo dai $_POST che hai scritto un utente può dare come giudizio "pessimo" e "sufficiente" e..."non saprei"
senza contare che può avere un'età compresa tra 0-15 e contemporaneamenti +di50.
stai sbagliando il form.
ti schematizzo come secondo me dovrebbe essere

PHP:
<?php
if(isset($_POST['invia'])){
	$giudizio=$_POST['giudizio'];
	$eta=$_POST['eta'];
	if($eta==""){$eta="non dichiarata";}
	echo "giudizio espresso: $giudizio<br />età: $eta<br />";
}
?>
<form action="" method="post">
	giudizio: <select name="giudizio">
	  <option value="pessimo">pessimo</option>
	  <option value="sufficiente">sufficiente</option>
	  <option value="buono" selected>buono</option>
	  <option value="ottimo">ottimo</option>
	  <option value="non saprei">non saprei</option>
	</select><br />
	età: <select name="eta">
	  <option >- seleziona -</option>
	  <option value="meno di 15">meno di 15</option>
	  <option value="16-25">16-25</option>
	  <option value="17-35">17-35</option>
	  <option value="36-45">36-45</option>
	  <option value="46-55">46-55</option>
	  <option value="piu di 55">piu di 55</option>
	</select><br />
	<input name="invia" type="submit" id="invia" value="invia">
</form>
volendo al posto delle select puoi usare i radiobutton, comunque in questo modo il giudizio e l'età sono univoci
 

Discussioni simili