Visualizzazione risultati 1 fino 8 di 8

Discussione: Creare una tabella aggiuntiva a phpBB3

  1. #1
    Guest

    Question Creare una tabella aggiuntiva a phpBB3

    Ciao, ragazzi io avrei bisogno di. Creare una tabella aggiuntiva al forum phpbb3, chiamandola: phpbb_note in pratica l'utente che ha fatto il login, grazie a un form si scrive e si registra le sue note nella tabella phpbb_note, in formato testo.

    nella tabella phpbb_note ho creato i campi: user_id; username_clean; user_permis; user_note.
    Il problema comincia qui:
    prendere il id, username, user permiss del utente attualmente loggato e fare in questo modo:
    aggiornare la tabbela con i dati del utente attualmente loggato.
    phpbb_note

    user_id: 1, username_clean: alex, user_permis: 942 user_note: ciao sono alex..


    Come si potrebbe fare?
    Ultima modifica di animekun : 04-01-2013 alle ore 18.27.39

  2. #2
    Guest

    Predefinito

    Scusa, ma che bisogno hai di creare una nuova tabella con 2 campi esattamente uguali a quelli di un'altra tabella? Così hai valori ridondanti, il che significa, per esempio, che se l'utente cambiasse i permessi dovresti cambiarli ogni volta anche in phpbb_note. Dovresti tenere solo user_id e user_note, ma in questo caso è inutile creare una tabella nuova solo per questo, tanto vale mettere il campo user_note nella tabella phpbb_users (a meno che tu non abbia tanti utenti che potrebbero non avere alcuna nota e quindi sarebbe uno spreco di spazio).
    In ogni caso, senza i due campi ridondanti, hai solo bisogno di prendere l'id, il che è facile poiché se è loggato è in $user->data['user_id'], e poi:
    -se hai tolto phpbb_note, fai una UPDATE di phpbb_users.
    -se hai lasciato phpbb_note, fai una UPDATE e, se mysql_affected_rows() ritorna 0, fai una INSERT.

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da giochidicartenc Visualizza messaggio
    Scusa, ma che bisogno hai di creare una nuova tabella con 2 campi esattamente uguali a quelli di un'altra tabella? Così hai valori ridondanti, il che significa, per esempio, che se l'utente cambiasse i permessi dovresti cambiarli ogni volta anche in phpbb_note. Dovresti tenere solo user_id e user_note, ma in questo caso è inutile creare una tabella nuova solo per questo, tanto vale mettere il campo user_note nella tabella phpbb_users (a meno che tu non abbia tanti utenti che potrebbero non avere alcuna nota e quindi sarebbe uno spreco di spazio).
    In ogni caso, senza i due campi ridondanti, hai solo bisogno di prendere l'id, il che è facile poiché se è loggato è in $user->data['user_id'], e poi:
    -se hai tolto phpbb_note, fai una UPDATE di phpbb_users.
    -se hai lasciato phpbb_note, fai una UPDATE e, se mysql_affected_rows() ritorna 0, fai una INSERT.
    creare un campo nella stessa tabella phpbb_users, trovo sia buona.
    Grazie

  4. #4
    Guest

    Predefinito

    come faccio il form get user_note e $user->data['user_id'] e fare post attraverso un html form?

  5. #5
    Guest

    Predefinito

    come faccio il form get user_note e $user->data['user_id'] e fare post attraverso un html form?
    Hai costruito questa frase con il metodo "parole casuali in ordine casuale"? Dalle un senso e forse potremo aiutarti.

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da giochidicartenc Visualizza messaggio
    Hai costruito questa frase con il metodo "parole casuali in ordine casuale"? Dalle un senso e forse potremo aiutarti.
    ok allora. Voglio fare un form con input di solo testo, con un bottone submit.
    Pero il problema e che non so come fare a prendere il user id(del utente attualmente loggato) per associare il testo a questo id. e registrarli nel database.

    Ecco quello che ho fatto:
    Codice PHP:
    <?php //phpbb3 config
    define('IN_PHPBB', true);
    $phpEx = 'php';
    $phpbb_root_path = 'C:/xampp/htdocs/project/forum/';
    include_once(
    $phpbb_root_path . 'config.'.$phpEx);
    include_once(
    $phpbb_root_path . 'common.'.$phpEx);
    include(
    $phpbb_root_path . 'includes/functions_display.' . $phpEx);
    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();
    ?>


    <?php //mysql db connect
    mysql_connect("localhost", "root", "") or die(mysql_error());
    mysql_select_db("test") or die(mysql_error());


    //inserting data order
    $query="INSERT INTO phpbb_users (user_note) VALUES ('$_POST[user_note]')";
    $result=mysql_query($sql);

    // Get values from form
    $note=$_POST['user_note'];


    // if successfully insert data into database, displays message "Successful".
    if($result){
    echo
    "Successful";
    echo
    "<BR>";
    echo
    "<a href='insert.php'>Back to main page</a>";
    }

    else {
    echo
    "ERROR";
    }
    ?>

    <?php
    // close connection
    mysql_close();
    ?>


    <?php
    if(isset($_POST['submit']))
    {
    $name = $_POST['user_note'];


    }
    ?>

    <?php // If user loged can edit his info
    if($user->data['is_registered'])
    //if($user->data['session_logged_in'])
    //user is logged in
    {

    ?>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    Le Mie Annotazioni:
    </br>
    <textarea name="user_note" id="user_note" cols="50" rows="4"></textarea>
    <br />
    <input type="submit" name="submit" value="submit" />
    </form>
    <?php
    }
    else
    //user is not logged in
    {
    echo
    'Devi fare il login';
    }
    ?>
    Ultima modifica di animekun : 04-01-2013 alle ore 23.06.56

  7. #7
    Guest

    Predefinito

    È davvero stranp quel codice ed è pieno di errori: è meglio che impari un po' di PHP e di PHPBB, perché non c'è una riga che abbia senso (escluso il pezzo iniziale di PHPBB).
    Inoltre
    Citazione Originalmente inviato da giochidicartenc
    -se hai tolto phpbb_note, fai una UPDATE di phpbb_users.
    e nel tuo codice
    Codice PHP:
    $query="INSERT INTO phpbb_users (user_note) VALUES ('$_POST[user_note]')";
    Per finire
    Citazione Originalmente inviato da animekun
    non so come fare a prendere il user id(del utente attualmente loggato) per associare il testo a questo id.
    e io ho scritto esplicitamente
    Citazione Originalmente inviato da giochidicartenc
    hai solo bisogno di prendere l'id, il che è facile poiché se è loggato è in $user->data['user_id']
    Quindi se non hai capito neanche questo ti consiglio di imparare, oltre a PHP e PHPBB, anche un po' di italiano.

  8. #8
    Guest

    Predefinito

    non e che sono esperto come te ehh.. cmq grazie

Regole di scrittura

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