Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Inserire dati automaticamente da foreign key

    ho due tabelle:
    codice:
    mysql> desc utenti;
    +----------+-------------+------+-----+---------+----------------+
    | Field    | Type        | Null | Key | Default | Extra          |
    +----------+-------------+------+-----+---------+----------------+
    | id       | int(11)     | NO   | PRI | NULL    | auto_increment |
    | nome     | varchar(20) | NO   | MUL | NULL    |                |
    | password | varchar(20) | NO   |     | NULL    |                |
    | email    | varchar(20) | NO   |     | NULL    |                |
    +----------+-------------+------+-----+---------+----------------+
    4 rows in set (0.00 sec)
    
    mysql> desc articoli;
    +-----------+-------------+------+-----+---------+----------------+
    | Field     | Type        | Null | Key | Default | Extra          |
    +-----------+-------------+------+-----+---------+----------------+
    | id        | int(11)     | NO   | PRI | NULL    | auto_increment |
    | title     | varchar(20) | NO   |     | NULL    |                |
    | sectionid | varchar(10) | NO   |     | NULL    |                |
    | testo     | text        | NO   |     | NULL    |                |
    | data      | datetime    | NO   |     | NULL    |                |
    | datamod   | datetime    | YES  |     | NULL    |                |
    | utente    | varchar(20) | NO   | MUL | NULL    |                |
    +-----------+-------------+------+-----+---------+----------------+
    7 rows in set (0.00 sec)
    ho creato una foreign key: articoli.utente è collegato a utenti.nome.
    solo che quando vado a inserire gli articoli in php devo inserire anche il nome utente a mano.
    come faccio a fargli inserire automaticamente il nome dell'utente connesso??
    codice php:
    Codice PHP:
            <?php
            
    if (isset($_POST['inserisci'])) {
                include 
    'config.php';
                
    $link mysql_connect($host$user$password) or die("Non è possibile connettersi al server
    "
    );
                
    $conn mysql_select_db($db$link) or die("Non è possibile connettersi al db
    "
    );
                
    $title mysql_real_escape_string($_POST['title']);
                
    $sectionid mysql_real_escape_string($_POST['sectionid']);
                
    $testo mysql_real_escape_string($_POST['testo']);
                
    $insert "INSERT INTO articoli (title, sectionid, testo, data, datamod) VALUES ('" $title "', '" $sectionid "', '" $testo "', sysdate(), sysdate())";
                if (
    $_POST['title'] == NULL || $_POST['sectionid'] == NULL || $_POST['testo'] == NULL) {
                    echo 
    "dati mancanti";
                } else {
                    
    mysql_query($insert) or die(mysql_error($link));
                    
    header("Location: index.php");
                }
            }
            
    ?>

  2. #2
    Deduco che l'utente ha fatto il login...salvi su una sessione o cookie il nome utente e lo memorizzi quando fai la query per l'inserimento del prodotto.

  3. #3
    Originariamente inviato da roberto1982
    Deduco che l'utente ha fatto il login...salvi su una sessione o cookie il nome utente e lo memorizzi quando fai la query per l'inserimento del prodotto.
    quindi in sostanza in questo caso nn servono foreign key, inner join e via dicendo??
    cmq si l'utente ha fatto il login.

  4. #4
    Secondo me no, se ti salvi il nome utente nella sessione o cookie è sufficiente una volta fatto il login.

  5. #5
    Codice PHP:
    $insert "INSERT INTO articoli (title, sectionid, testo, data, datamod, utente) VALUES ('" $title "', '" $sectionid "', '" $testo "', sysdate(), sysdate(),'" $_SESSION['autorizzato'] . "')"
    la variabile di sessione già l'ho salvata per altri motivi.
    una pura banalità.
    grazie mille!!!

  6. #6
    ok ciao!!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.