Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Aiuto modulo commenti php/mysql

    Ciao a tutti ho creato questo modulo di prova per commenti basato su mysql e php

    la pagina comment.php (in cui si inviano i commenti e nella quale i commenti si scrivono)
    Codice PHP:
    <form name="form1" method="post" action="savecomment.php"> <input type="text" name="nickname" id="nickname" /> <textarea name="commento" id="commento" cols="45" rows="5"></textarea> <input type="submit" name="action" value="Invia"> </form> <?php // hostname $nomehost = "localhost"; // nome utente $nomeuser = "bam811"; // password $password = ""; // mi connetto $connessione = mysql_connect($host,$user,$pass); mysql_select_db("my_bam811", $connessione) or die("Errore durante l'accesso al database."); /* Prelevo i commenti */ $query = mysql_query("SELECT nickname , commento FROM comment"); $result = mysql_fetch_object($query); $contents = ''; while($result = mysql_fetch_object($query)) { $contents .= $result->nickname.' ha scritto:
    '.$result->commento.'

    '; } echo $contents; ?>
    e il file savecomment.php (con il quale i commenti si salvano nel db)
    Codice PHP:
    <?php // hostname $nomehost = "localhost"; // nome utente $nomeuser = "bam811"; // password $password = ""; // mi connetto $connessione = mysql_connect($host,$user,$pass); mysql_select_db("my_bam811", $connessione) or die("Errore durante l'accesso al database."); mysql_query("INSERT INTO comment (date, nickname, commento)VALUES (NOW(), '" . mysql_real_escape_string($_POST['nickname']) . "', '" . mysql_real_escape_string($_POST['commento']) . "')"); header( "Location: comment.php" ); ?>
    il mio problema è che, una volta memorizzato un commento nel db, non si scrive nella pagina commet.php. qualcuno sa dove sbaglio?
    P.S il nome della tabella nel db è comment. non so se puo essere utile.
    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Il tuo file php è davvero composto così?

    ...no perchè...non so se lo sai o te ne sei accorto ma è TUTTO commentato..

  3. #3
    scusa che differenza fa se lo commento o no?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Un commento è un commento.

    Il codice è il codice.

    Il codice commentato è un commento e non codice (o meglio... "non codice").


    EDIT: quindi un codice commentato non esegue nulla, non si comporta come tale. Non è niente.

  5. #5
    forse ho capito cosa intendi... il mio codice non è sviluppato così, i commenti con le 2 slash una volta finiti vanno a capo, è il forum che mi ha inserito tutto su una linea

  6. #6
    Codice PHP:
    <?php

    // hostname
    $nomehost "localhost";   

    // nome utente
    $nomeuser "bam811";

    // password
    $password "";

    // mi connetto
    $connessione mysql_connect($host,$user,$pass);

    mysql_select_db("my_bam811"$connessione) or die("Errore durante l'accesso al database.");

    mysql_query("INSERT INTO comment (date, nickname, commento)VALUES (NOW(), '" mysql_real_escape_string($_POST['nickname']) . "', '" mysql_real_escape_string($_POST['commento']) . "')");

    header"Location: comment.php" );

    ?>
    Codice PHP:
    <form name="form1" method="post" action="savecomment.php">
       <input type="text" name="nickname" id="nickname" />
       <textarea name="commento" id="commento" cols="45" rows="5"></textarea>
       <input type="submit" name="action" value="Invia">
    </form>

    <?php
    // hostname
    $nomehost "localhost";   

    // nome utente
    $nomeuser "bam811";

    // password
    $password "";

    // mi connetto
    $connessione mysql_connect($host,$user,$pass);

    mysql_select_db("my_bam811"$connessione) or die("Errore durante l'accesso al database.");

    /* Prelevo i commenti */
    $query mysql_query("SELECT nickname , commento FROM comment");
    $result mysql_fetch_object($query);
    $contents '';

    while(
    $result mysql_fetch_object($query)) {
    $contents .= $result->nickname.' ha scritto:
    '
    .$result->commento.'

    '
    ;
    }

    echo 
    $contents;
    ?>
    ecco la sintassi corretta

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    Ah ok.

    Controlla che i campi delle colonne della tabella siano impostate correttamente...e poi non so ma io ad ogni "query statement" inserisco anche il link di connessione..
    Codice PHP:

    $query 
    mysql_query("SELECT x FROM y"$connessione);

    // ... 
    Nel frattempo prova a vedere se le query si eseguono o meno, imposta un if e mostra l'eventuale errore del database con mysql_error($connessione);


    EDIT: e giusto per essere pignoli...spazia "VALUES" a sinistra..staccalo dalla parentesi di chiusura dei campi delle tabelle...e riprova...

  8. #8
    grazie mille ho risolto dovevo solo inserire il link di connessione dietro a mysql_query.
    un'ultima domanda (spero di non rompere troppo :P) come faccio a dare un messaggio di errore se non vengono compilati tutti i campi? e per impostare i messaggi dal piu nuovo al piu vecchio? grazie.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    762
    I messaggi di errore te li puoi gestire come ti pare...nel senso che potrei dirti 10 e una cosa su come gestirteli...

    ...sull'ordine dei messaggi, la parola d'ordine è ORDER BY


  10. #10
    Grazie mille !!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.