Visualizzazione risultati 1 fino 11 di 11

Discussione: Stampare dati del proprio nik e poterli modificare

  1. #1
    Guest

    Predefinito Stampare dati del proprio nik e poterli modificare

    Come da titolo è possibile fare che in 1 pagina vengano stampate le cose inserite nel db dal proprio nik?(utente gia loggato quindi nik conservato con varia roba),è anche possibile modificarle?
    se è possibile qualcuno mi puo aiutare?pls

  2. #2
    Guest

    Predefinito

    Non vedo la difficoltà.
    Una volta che l'utente è loggato hai a disposizione il suo username e password, interroghi il db con questi dati (WHERE username='$username' AND psw='$psw' LIMIT 1) e stampi i dati copo aver fetchato il risultato della query con un mysql_fetch_assoc.

    Per modificarli, basta inserire gli stessi dati in un form (quindi i valori pescati dal db andranno a popolare i vari textbox o textarea) e al momento del submit dello stesso form fai una query UPDATE.


    Ciaoo!!

  3. #3
    Guest

    Predefinito

    grazie debug ma mi sono spiegato male
    l'utente logga al login pero i dati sono presenti in un altra tabella(mercato) mentre quella del login è sl _user,allora dovrei prima effettuare 1 conessione alla tabella mercato?

  4. #4
    Guest

    Predefinito

    No, più semplicemente estrai i dati da quella tabella anzichè da user.
    Per facilitarti la vita fai 2 query: la prima per estrarre l'id dalla tabella user (come ti ho suggerito prima), la seconda iterroghi mercato con l'id (ovviamente univoco) estratto (che ovviamente corrisponde a quell'utente e solo a quello).


    Ciaoo!!!

  5. #5
    Guest

    Predefinito

    il problema è che siccome linserimento di +oggetti dava problemi con l'id = delle 2 tabelle ,esse hanno 2 id diversi in questo caso controllo l'username?

  6. #6
    Guest

    Predefinito

    Fai prima a postare la struttura delle due tabelle.

    La coordinazione dei dati in più tabelle si basa su un ID univoco (di solito un campo INT con auto_increment) che fa riferimento ad un record preciso di una tabella.


    Ciaoo!!

  7. #7
    Guest

    Predefinito

    la struttura delle due tabelle è cosi:
    Utenti
    id int unsigned not nul auto increment primary key
    username varchar 32 null
    password varchar 32 null
    Mercato
    id uset int 11 null
    id int unsigned not null auto icrement primary key
    poi da testo 1 a testo 9 sono text null
    Edit per provare o fatto cosi;
    Codice PHP:
    <link href="css.css" rel="stylesheet" type="text/css">
    <?
    session_start
    ();
    if (
    $_SESSION['login'] != "yes")
    {
    print
    "<head>
    <meta http-equiv=\"Content-Language\" content=\"it\">
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
    <title></title>
    </head>

    <body text=\"#FFFFFF\" bgcolor=\"#737373\">

    <p><b><font face=\"Sylfaen\" size=\"2\" color=\"#FFFFFF\">Attenzione! Username o
    Password non Validi!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <a href=\"http://muitaly.altervista.org/Login/login5.php\">
    <span style=\"text-decoration: none\"><font color=\"#FFFFFF\">Torna Indietro</font></span></a></font></b></p>

    </body>
    </html>"
    ;
    exit;
    }
    else
    {
    /*******************************************************************/
    /* Qui andrà il contenuto della pagina protetta */
    /*******************************************************************/
    // Connessione al database
    require ('inc/config.php');
    $db = mysql_connect($db_host, $db_user, $db_pass);
    if (
    $db == FALSE)
    die (
    "<img src=\"images/button_cancel.png\"> <span class=\"Stile7\">Errore nella connessione. Verificare i parametri del database nel file inc/config.php</span>");
    mysql_select_db($db_name, $db)
    or die (
    "<img src=\"images/button_cancel.png\"> <span class=\"Stile7\">Errore nella selezione del database. Verificare i parametri nel file inc/config.php</span>");
    // Query riconoscimento utente
    $query = "SELECT * FROM Mercato WHERE username = '".$_row['username']."'AND id_user = '".$_row['id']."'";
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    $id_ = $row[0];
    $testo1 = $row[3];
    $testo2 = $row[4];
    $testo3 = $row[5];
    $testo4 = $row[6];
    $testo5 = $row[7];
    $testo6 = $row[8];
    $testo7 = $row[9];
    $testo8 = $row[9];
    $testo9 = $row[10];
    echo
    "<form action=\"edit.php\" method=\"POST\">
    <input type=\"hidden\" name=\"go\" value=\"1\">
    <input type=\"hidden\" name=\"id_\" value=\""
    .$id_user."\">
    <input type=\"text\" name=\"testo1\" value=\""
    .$testo1."\">
    <input type=\"text\" name=\"testo2\" value=\""
    .$testo2."\">
    <input type=\"text\" name=\"testo3\" value=\""
    .$testo3."\">
    <input type=\"text\" name=\"testo4\" value=\""
    .$testo4."\">
    <input type=\"text\" name=\"testo5\" value=\""
    .$testo5."\">
    <input type=\"text\" name=\"testo6\" value=\""
    .$testo6."\">
    <input type=\"text\" name=\"testo7\" value=\""
    .$testo7."\">
    <input type=\"text\" name=\"testo8\" value=\""
    .$testo8."\">
    <input type=\"text\" name=\"testo9\" value=\""
    .$testo9."\">
    <input type=\"submit\" value=\"Aggiorna!\">
    </form>
    ahahahha
    "
    ;


    exit;
    }
    ?>
    Mi stampa solo il 1 inserimento dello stesso utente mentre io vorrei stampasse tutti i suoi inserimenti in vari form seguiti da tasto aggiorna(perchè l'utente puo inserire anche 20 volte 1 oggetto) e poi quando cerco di modificare mi da errore sql modifica
    Ultima modifica di ang : 07-09-2006 alle ore 08.30.52

  8. #8
    Guest

    Predefinito

    Aspetta, ma cosa sono in Mercato questi campi:

    id uset int 11 null
    id int unsigned

    Uno, in teoria, dovrebbe identificare i record nella tabella (l'auto_increment cioè la chiave primaria), e l'altro dovrebbe rappresentare l'ID degli utenti che inseriscono i prodotti in questa tabella. Giusto?

    Questa query
    Codice PHP:
    $query = "SELECT * FROM Mercato WHERE username = '".$_row['username']."'AND id_user = '".$_row['id']."'";
    andrebbe bene se tu prima di essa avessi fatto un'altra query per estrarre quelle variabili (a parte che devi togliere quei _ dal nome dell'array row[]). Ma poi, sempre in questa query, tenti di verificare un campo che non esiste, cioè username!


    Ciaoo!!!

  9. #9
    Guest

    Predefinito

    scusa 1 è autoincrement ed identifica i prodotti partendo da 0 1 ecc...
    l'altro id user da sempre 0 come id e non so il perchè
    per il resto non ho capito devo levare il _ e fare $row e devo far stampare i dati prima ? cmq io tendo di far verifichare username perchè id è diverso tra la tabella del login e Mercato ,questo perche non so come farlo inviare l'id dell'utente quando inserisce un prodotto.Mi aiuteresti a risolvere questo problema?
    Ultima modifica di ang : 07-09-2006 alle ore 10.57.02

  10. #10
    Guest

    Predefinito

    Oddio, aspetta un secondo.
    Prima di tutto, quando tu inserisci i record nella tabella mercato, devi memorizzare anche l'ID dell'utente che sta facendo questa operazione, ok?
    Bene, poi riguardo all'array $_row dicevo che dovevi togliergli il carattere '_' altrimenti ti potresti confondere con una variabile superglobale (tipo $_POST, $_COOKIE, ecc.), infatti credo che tu ti sia già confuso perchè usi ad esempio $_row['username'] ma senza aver prima valorizzato questo elemento.
    Per farti capire cosa intendo, prova a stampare il contenuto dell'array $_row con print_r($_row);


    Ciaooo!!!

  11. #11
    Guest

    Predefinito

    allora forse o capito debug
    per prima cosa devo far mandare l'id utente quando inserisco i dati nel db con la query (uso quindi un hyde con $row[id])
    primo punto
    mi mette solo1 numero di id utente come mai? ad es: 899999999
    mette solo 8...
    Codice PHP:
    <?php
    session_start
    ;
    $user = "";
    $pwd = ""; // qui la tua password
    $host = "localhost";
    $dbase = "";

    $db = mysql_connect ($host, $user, $pwd) or die
    (
    "Impossibile connettersi al database!");

    mysql_select_db ($dbase);
    $username = $_POST['username'];
    $id = $_POST['id'];
    $testo1 = $_POST['testo1'];
    $testo2 = $_POST['testo2'];
    $testo3 = $_POST['testo3'];
    $testo4 = $_POST['testo4'];
    $testo5 = $_POST['testo5'];
    $testo6 = $_POST['testo6'];
    $testo7 = $_POST['testo7'];
    $testo8 = $_POST['testo8'];
    $testo9 = $_POST['testo9'];

    if (
    $_POST['submit'] == 'Invia') {
    $inserimento= mysql_query ("INSERT INTO Mercato (username,id_user,testo1, testo2, testo3, testo4, testo5, testo6, testo7, testo8, testo9,data_ora) VALUES ('".$username."','".$id."','".$testo1."', '".$testo2."', '".$testo3."','".$testo4."','".$testo5."','".$testo6."','".$testo7."','".$testo8."','".$testo9."',now())") or die(mysql_error());



    echo (
    "Inserimento avvenuto correttamente!"); }
    header('Location: Panel.php');
    ?>
    poi la 2 cosa non riesco a capire devo togliere gli apici o prorpio ['username'], se si come posso richiamarla?
    cmq ho fatto 1 po di confusione il campo username ce anche in mercato
    Ultima modifica di ang : 07-09-2006 alle ore 14.47.17

Regole di scrittura

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