Visualizzazione risultati 1 fino 1 di 1

Discussione: creare una bacheca in pagina profilo

  1. #1
    Guest

    Unhappy creare una bacheca in pagina profilo

    ciao ragazzi sono le 6 del mattino e sto impazzendo da ore ormai.
    sto creando un piccolo sito con le operazioni che man mano imparo in php
    ho creato una pagina profilo utente e tramite GET cambia a seconda di quale utente vuoi osservare
    ora stavo facendo si che ogni profilo abbia la sua bella bacheca dove ognuno puo lasciare un commento
    fino a qua tutto bene
    il problema è che quando invio il commento vorrei restasse semplicemente sulla pagina del form, e la pagina del form si aggiorna, ma mi si apre una nuova scheda con l'action del form,
    e soprattutto non fa in tempo ad aggiornarsi il database prima del refresh e quindi il commento non viene immediatamente visualizzato!

    spero di essere stato chiaro :( posto codici


    PROFILO.PHP
    Codice HTML:
    <?php header('Content-type: text/html;charset=utf-8');
    session_start();
    require_once('lib/Users.class.php');
    $login = New Users;
    $login->esegui_login();
    ?>
    <?php 
    $username = mysql_real_escape_string($_GET['username']);
     mysql_query("CREATE TABLE bac_$username ( nome TEXT(30), 
     commento TEXT(190) , data INT(20))");  ?>
    <div id="sinistra">
    
    <?php 
    
    
    
    
    
    /*estraggo dal database tutti gli "username" della tabella "users"*/
     $regdb = mysql_query("SELECT username FROM users"); 
     
    
    /*dico che $registrati è un array apro il ciclo while e tramite mysql_fetch_array() creo un array contenente tutti gli username estratti e glielo assegno */
    
             $registrati = array(); 
             while($r = mysql_fetch_array($regdb)) 
             $registrati[] = $r[0]; 
    		 
    		 if (in_array($username, $registrati))
    		 { echo '<h2>Profilo di '.$username.'</h2>';}
    		 
    		 else {
    		 die("Ops!!! forse l'utente non esiste o si è cancellato");}
    		
    // Estraggo i dati e poi     
        
    // Username
    $username = $_GET['username'];
    $email = mysql_query("SELECT email FROM users WHERE username = '$username'");
    $recordset = mysql_fetch_row($email);
    $email = $recordset[0];
       
            $nome = mysql_query("SELECT username FROM user WHERE username = '$username'");
            $recordset = mysql_fetch_row($nome);
            $nome = $recordset[0];
        
    // Cognome    
            $cognome = mysql_query("SELECT cognome FROM utenti WHERE username = '$username'");
            $recordset = mysql_fetch_row($cognome);
            $cognome = $recordset[0];
        
    
    // Messaggio personale
    
            $msg = mysql_query("SELECT msg_pers FROM utenti WHERE username = '$username'");
            $recordset = mysql_fetch_row($msg);
            $msg = $recordset[0];
            $ext = "jpg";
    
    // Stampo tutti i risultati
           
    echo '<img src="uploads/'.$username.'.'.$ext.'" width="200" /><br />';
    echo '<p><strong>Username: </strong>'.$username.'</p>';
    echo '<p><strong>Nome: </strong>'.$nome.'</p>';
    echo '<p><strong>Cognome: </strong>'.$cognome.'</p>';
    echo '<p><strong>Residenza: </strong>'.$residenza.'</p>';    
    echo '<p><strong>Messaggio personale: </strong>'.$msg.'</p>';
     ?></div>
    
    <div id="destra"><div id="bacheca"><div id="commenta"> 
    <?php echo '
    <form action="salva_bacheca.php?username='.$username.'" target="visualizza" name="inserimento" method="post" onsubmit="javascript:location.reload();">
    <input name="azione" >
    <input type="submit" value="Invia" name="invia">
    </form>'; 
    ?>
    
    </div><div id="commenti">
    
    <?php 
    
    /* Estrazione di tutte le azioni ordinate in
    ordine decrescente in base alla data (Visualizzazione delle azioni più recenti in alto).
    La variabile result, risulta un array di righe */
    $query = "SELECT * FROM bac_$username ORDER BY data DESC";
    $result = mysql_query($query) or die(mysql_error());
    /* Finchè esiste nel risultato una riga si entra nel ciclo while. Per vedere la funzione della funzione
    stripslashes e date guardare la documentazione online. */
    while($riga = mysql_fetch_array($result)){
    $nome = stripslashes($riga['nome']);
    $mss = stripslashes($riga['commento']);
    $ora = date("H:i", $riga['data']);
    echo($ora." ".$nome." dice: ".$mss."<br/>");
    }
    
    /* chiusura del database */
    mysql_close($db); ?></div></div></div>
    SALVA_BACHECA.php
    Codice PHP:
    <?php header('Content-type: text/html;charset=utf-8');
    session_start();
    require_once(
    'lib/Users.class.php');
    $login = New Users;
    $login->esegui_login();?>
    <?php $user
    = $login->get_username(); ?>
    <?php
    $username
    = $_GET['username'];
    echo (
    $username);

    /* Controlla che il parametro azione passato con il metodo POST dalla pagina chat_input.php esista (per vedere come funziona isSet() guardare la documentazione online) e che l'utente sia entrato in maniera corretta*/
    if (isSet($_POST['azione']) && $user != "")
    {
    /* nella variabile "nome" viene salvato il nickname dell'utente. La variabile "mss", salva prima il parametro passato con il metodo POST dopo averlo elaborato con la funzione htmlspecialchars (guardare documentazione online). La variabile "attuale" salva la data e l'ora attuale.*/
    $nome = $user;
    $attuale = time();
    $mss = htmlspecialchars($_POST['azione']);
    /* Inserimento all'interno del database dell'azione con relativi campi (Giocatore, Messaggio, Data)*/
    $query ="INSERT INTO bac_$username SET nome = '$nome', commento = '$mss' ";
    mysql_query($query) or die(mysql_error());
    }

    /* chiusura del database */
    mysql_close($db);
    ?>

    help
    Ultima modifica di sempreinbotta : 11-07-2014 alle ore 15.07.35

Regole di scrittura

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