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

    Problema con creazione di pannello utente

    Ciao ragazzi ho un problema con uno script per la gestione news del mio sito!
    Ho creato due tabelle nel database mysql una "users" per gli utenti che si sono registrati al sito e che hanno accesso al form per inserire la news nel database
    ed una tabella "gestione_news" che raccoglie tutte le news!
    Il problema è questo l'utente inserisce un nickname per la registrazione al sito e lo stesso nickname quando posta la news
    [questo perchè ho utilizzato uno script di login al sito già fatto]
    dovrei costruire una sorta di pannello utente per far vedere ad ogni singolo utente quali e quante news ha postato e dare la possibilità di modificarle o cancellarle!

    Ho provato ad usare WHERE ma senza alcun risultato
    Questa è la pagina che sto cercando di fare

    Codice PHP:

    <?php
    //verifico se l'utente ha fatto il login e in caso negativo lo rimando alla pagina iniziale

    session_start();
    if (
    $first_name == ''header("Location: index.php");
    session_register("first_name");


    // Parametri di connessione al database
    $Host="ciao";
    $User="ciaa";
    $Password="ciaooo";
    $DBName="ciaoaooo";
    $TableName="gestione_news";

    //mi connetto al database
    $Linkmysql_connect ($Host$User$Password);


    //a questo punto cerco disperatamente di attribuire il valore di first_name a nickname
    $NickName $_POST['first_name'];

    //Query di selezione dal database con la quale cerco di selezionare soltanto le news inserite dall'utente X che si era precedentemente loggato
    $Query "SELECT * FROM $TableName WHERE NickName='NickName' ORDER BY Titolo DESC" or die(mysql_error());
    $Result=mysql_db_query ($DBName,$Query,$Link);

    //conto il numero di righe presenti nel database e se nn è presente nessuna riga stampo il messaggio di errore
    $rowsmysql_num_rows ($Result);

    if (
    $rows) {
    echo 
    "Trovati $rows risultati";
    }
    else {
    echo 
    "Nessuna galleria presente nel database";
    }
    //fine del conteggio se è tutto ok lo script mi fa vedere le gallerie presenti

    while ($Row mysql_fetch_array ($Result)) {
       
     
    //stampo i risultati nella struttura in html da me composta  
      
    print("<table width=\"100%\" border=\"1\" bordercolor=\"#000000\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#FFFFFF\">
        <tr>
       <td width=\"140\" height=\"100\"><div align=\"center\"><img src=\" 
    {$Row[Immagine]} \"></div></td>
       <td><div align=left>
    {$Row[Titolo]}
    <a href=\"
    {$Row[Link]}\">Vai alla pagina</a></div>
    <img src=\"autore.gif\">
    {$Row[NickName]} ||<img src=\"data.gif\"> {$Row[Data]}</td>
       </tr>
       </table>
      
    \n"
    );
             
        }
        
    mysql_close ($Link);
    //chiudo la connessione

    ?>

  2. #2
    aiutoooo please!

  3. #3
    Ma tu hai scritto WHERE nickname = 'nickname'!!!
    Dovresti impostare una variabile! Prova ad inserire un utente che si chiama "nickname" e vedrai che lo script funziona!
    Devi utilizzare WHERE nickname='$nickname'.

    APPUNTO
    Invece di memorizzare l'intero nick memorizza il relativo id. Eviterai ridondanze sprecando meno spazio e rendendo lo script più veloce nell'estrazione: fin quando ogni utente inserisce poche news tutto bene ma quando le news cominciano a diventare tante lo script si rallenta! Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  4. #4
    ho già provato con la variabile ma nn funziona!
    nn riesco a capire come devo collegare l'username inserito in una tabella con il nickname (sono gli stessi ma in due tabelle differenti) inserito nell'altra!

    In pratica l'username viene usato per loggarsi al sito e il nickname viene usato per inserire la news

    idee?

  5. #5
    $Query = "SELECT * FROM $TableName WHERE NickName='NickName' ORDER BY Titolo DESC" or die(mysql_error());

    $Result=mysql_db_query ($DBName,$Query,$Link);

    quell'ordie nn ha senso


    $Query = mysql_query ("SELECT * FROM $TableName WHERE NickName='NickName' ORDER BY Titolo DESC") or die(mysql_error());

    $reust = mysql_fetch_array ( $Query ) ;
    Chiamatemi sven se volete non ho voglia di fare una nuova email per una nuova registrazione xD
    Mac Future User , Ventilatore for PC Cooler user , - dry is coming -

  6. #6
    ma in questo modo risolvo il problema?
    nn dovrei mettere NickName='$NickName'?

  7. #7

  8. #8
    cmq ho provato con mysql_fetch_array ma nada

  9. #9
    Allora: secondo me dovresti cominciare ad unificare le tabelle: a che pro averne due ed avere spazio occupato inutilmente? Fanne una sola dove memorizzi tutti i dati degli utenti che ti servono e poi inserisci l'id relativo nella tabella!

    Ma ti dà qualche errore?
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  10. #10
    beh errori nn ne dà siccome gli ho messo il count_rows mi dice nessuna galleria inserita dall'utente!!!
    L'unico problema che ho è cosa mettere in quella cavolo di WHERE perchè se gli metto il nome di un'utente al posto della variabile funziona benissimo!

    Un'altra cosa siccome mi hanno chiesto di fare un'altro sito in cui devo utilizzare + o - lo stesso script mi spieghi bene come unificare le tabelle?

    Praticamente in una sola tabella gli metto tutti i dati per la registrazione e anche quelli relativi alla news da inserire, e poi come faccio per collegarli?

    Cmq per completezza ti mostro come creo le due tabelle

    Questa è la tabella USERS quella che gli utenti usano per loggarsi

    CREATE TABLE users (
    userid int(25) NOT NULL auto_increment,
    first_name varchar(25) NOT NULL default '',
    last_name varchar(25) NOT NULL default '',
    email_address varchar(25) NOT NULL default '',
    username varchar(25) NOT NULL default '',
    password varchar(255) NOT NULL default '',
    decrypted_password varchar(255) NOT NULL default '',
    info text NOT NULL,
    user_level enum('0','1','2','3') NOT NULL default '0',
    signup_date datetime NOT NULL default '0000-00-00 00:00:00',
    last_login datetime NOT NULL default '0000-00-00 00:00:00',
    activated enum('0','1') NOT NULL default '0',
    PRIMARY KEY (userid)
    ) TYPE=MyISAM COMMENT='Membership Information';


    questa invece è la tabella creata da me per inserire la news

    Codice PHP:
    <?php
    $Host
    ="ciao";
    $User="ciao";
    $Password="ciao";
    $DBName="ciao";
    $TableName="news_tgp";


    $Linkmysql_connect ($Host$User$Password);
    $Query="Create table $TableName (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, NickName TEXT,
    Testo TEXT,Immagine TEXT, Data TEXT,Titolo TEXT,Link TEXT)"
    ;
    if (
    mysql_db_query ($DBName,$Query,$Link)) {
    print (
    "La query è stata eseguita con successo! 
    \n"
    );
    } else {
    print (
    "La query non è stata eseguita con successo! 
    \n"
    );
    }
    mysql_close ($Link);
    ?>

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.