Visualizzazione risultati 1 fino 5 di 5
Like Tree2Likes
  • 1 Post By Luffio
  • 1 Post By Luffio

Discussione: Script PHP per invio commento in database, piccolo problema.

  1. #1
    FantaCastor non è connesso Neofita
    Data registrazione
    23-09-2013
    Messaggi
    29

    Question Script PHP per invio commento in database, piccolo problema.

    Buonasera,
    è la prima volta che scrivo quindi è possibile che io abbia commesso qualche errore.
    Ciò premesso vi presento le mie eventuali scuse

    Utilizzo un codice che permette di inviare un commento che viene automaticamente salvato nel mio database.
    Per necessità il codice è diviso in tre parti così che gli utenti del mio sito possano imviare tali commenti dal proprio profilo. Tali commenti sono visibili in un'altra pagina.

    Arrivo al problema:

    La pagina che contiene il box per commentare

    Codice HTML:
     <form name="messaggio" method="post" action="inserimento.php">
    <table>
    	<tr>
        	<td>
            	Nome:
            </td>
            <td>
            	<input type="text" maxlength="20" name="user">
            </td>
        </tr>
    	<tr>
        	<td>
            	Messaggio:
            </td>
            <td>
            	<textarea name="messaggio"></textarea>
            </td>
         </tr>
         <tr>
         	<td>
            	<input type="submit" value="invia mex">
            </td>
          </tr>
    </table>
    
    
    </form>
    richiama lo script seguente (inserimento.php) situato in un'altra pagina

    Codice PHP:

    <?php
    $connessione
    =mysql_connect("localhost", "my_database", "messaggi");
    $sele=mysql_select_db("my_database", $connessione) or die(mysql_error());

    $user=$_POST["user"];
    $mex=$_POST["messaggio"];
    if(
    $user!=="" and $mex!==""){
    $stringa="insert into messaggi(user, messaggio, data_ora) values('$user', '$mex', now())";
    mysql_query($stringa) or die(mysql_error());}
    else { echo
    "Tutti i Campi devono essere compilati!";}
    ?>
    i commenti sono poi visualizzati su una terza pagina:

    Codice PHP:
    <?php
    $conn
    =mysql_connect("localhost", "my_database", "messaggi") or die(mysql_error());
    $sele=mysql_select_db("my_database", $conn) or die(mysql_error());
    $selezione=mysql_query("select user, messaggio, date_format(data_ora, '%d/%m/%Y alle ore %H:%i:%s') as data from messaggi order by data_ora") or die(mysql_error());
    if(
    mysql_num_rows($selezione)>0){
    while(
    $array=mysql_fetch_array($selezione))
    {
    $user=$array["user"];
    $mex=$array["messaggio"];
    $ora=$array["data"];

    echo
    "<form>
    L'utente<b>
    $user</b> il $ora <br>Ha scritto:<br><textarea onfocus='this.blur()' onstartselect='return false;'>$mex</textarea><hr>";};}else {echo "non c'è ancora nessun messaggio...";}?>

    Il problema che mi si presenta è che lo script dalla pagina di commento posso inviare solo il primo commento, una volta confermato l'invio, riaccedendo, la pagina (che contiene il secondo codice che ho postato) diventa bianca e non posso più commentare (anche se in effetti ricaricando la pagina il mio database salva dati in bianco). Come posso far sì che la possibilità di commentare non "svanisca nel nulla"?
    vi ringrazio in aticipo.

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

    Predefinito

    Suppongo che tu, una volta inviato il form, ti ritrovi nella pagina inserimento.php, che, se hai fatto tutto giusto, è bianca perché non ci stai stampando niente. Se vuoi andare a un'altra pagina, nell'if inserisci
    Codice PHP:
    header('Location: <redirect>');
    dove <redirect> è l'indirizzo della pagina che vuoi visualizzare (deve essere scritto esattamente così altrimenti non funziona: 'Location', due punti, uno spazio, indirizzo).

    Una domanda: Riesci a usare il database? Hai scritto
    Codice PHP:
    $connessione=mysql_connect("localhost", "my_database", "messaggi");
    dove "messaggi" dovrebbe essere la password per il database e al posto di "my_database" dovrebbe essere "my_fantacastor".
    FantaCastor likes this.
    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
    FantaCastor non è connesso Neofita
    Data registrazione
    23-09-2013
    Messaggi
    29

    Predefinito

    Grazie Luffio per l'interessamento,

    Per prima cosa ti dico che riesco a utilizzare il database perché il codice che ho inserito non è il mio propriamente ma l'ho trovato sulla Rete.
    Più tardi proverò la tua soluzione, per il momento posso linkarti tutto così puoi verificare il ptoblema tu stesso e mi dici in aticipo se mi sono spiegato bene e quello che mi hai scritto è sufficiente a sistemare tutto:

    qui c'è il form che invia il messaggio (invia un messaggio e ricarica la pagina vedrai che sparisce) http://fantacastor.altervista.org/commenti_2/try1.html

    qui sono visibili i messaggi http://fantacastor.altervista.org/commenti_2/try2.php

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

    Predefinito

    Ti sei spiegato bene, infatti a quei link succede esattamente quello che ti ho raccontato sopra. Devi mettere
    Codice PHP:
    if($user!=="" and $mex!==""){
    ...
    header('Location: try1.html');
    }else ...
    (dove al posto dei puntini c'è il codice che non ho riscritto) e anche
    Codice PHP:
    $conn=mysql_connect("localhost", "my_fantacastor", "") or die(mysql_error());
    $sele=mysql_select_db("my_fantacastor", $conn) or die(mysql_error());
    e poi penso che tu debba mettere mysql_fetch_assoc al posto di mysql_fetch_array
    Ultima modifica di Luffio : 29-09-2014 alle ore 18.23.11
    FantaCastor likes this.
    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
    FantaCastor non è connesso Neofita
    Data registrazione
    23-09-2013
    Messaggi
    29

    Predefinito

    Grazie mille della tua gentilezza Luffio il codice è perfettamente funzionante!


    Il problema è risolto!

Tags for this Thread

Regole di scrittura

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