• User

    Mostrare a video 3 nomi e salvarli nel database

    Salve, mi serve del codice php per fare:

    1. una pagina in cui si possano scrivere 3 nomi che devono essere salvati nel database(in php)
    2. per ogni gruppo di questi 3, inseriti dagli utenti, deve essere creata una html, che li mostri a video

    Grazie in anticipo 🙂


  • Consiglio Direttivo

    Ciao lasslo e benvenuto nel Forum GT. 🙂

    La tua richiesta è un po' vaga, potresti essere più specifico portando un esempio di ciò che vorresti ottenere? 🙂


  • User

    Allora serve uno script in php che sia strutturato nel seguente modo:

    index.php che deve contenere un form per scrivere il proprio nome, cognome e città.
    La pagina index.php deve poi creare altre pagine in html che contengano i dati inseriti.
    Non è facile da spiegare..


  • Consiglio Direttivo

    Beh, se non ti sforzi un attimo a spiegarcelo come potremmo aiutarti :D?

    Allora, per creare il form che inserisce i tre dati nel Database nessun problema.
    Immaginando che la tabella abbia:
    id(auto-increment, primary_key), nome, cognome, citta
    [html]<form action="insert.php" method="post">
    Nome<input type="text" name="nome" value="" /><br />
    Cognome<input type="text" name="cognome" value="" />
    Città<input type="text" name="citta" value="" />
    <input type="submit" value="Inserisci" />
    </form>[/html]Questo il form che invia i dati alla pagina insert.php, che provvederà ad inserire i dati nel Database e ad assegnare un numero univoco (id) per ogni record:
    [php]<?php
    $nome="";
    $cognome="";
    $citta="";

    $nome=htmlentities($_POST['nome'], ENT_QUOTES);
    $cognome=htmlentities($_POST['cognome'], ENT_QUOTES);
    $citta=htmlentities($_POST['citta'], ENT_QUOTES);

    if (isset($nome) && isset($cognome) && isset($citta))
    {
    require_once ("config.php"); // file di connessione al Database
    $sql="INSERT INTO nome_tabella (nome, cognome, citta) VALUES ('$nome', '$cognome', '$citta')";
    $query=@mysql_query($sql) or die (mysql_error());
    }
    else
    {
    echo "Devi riempire tutti i campi, torna alla <a href="index.php">Home</a>";
    }
    ?>[/php]Poi a te interessa vedere una singola pagina dove vengano visualizzati i dati di un solo inserimento? (nome, cognome e città)

    Se è così basta sfruttare l'id del record e quindi estrarre i campi relativi. Crei una pagina visualizza.php che riceve tramite GET il valore dell'id da estrarre (visualizza.php?id=x) ed hai fatto:
    [php]<?php
    if (isset($_GET['id']))
    {
    if (is_numeric($_GET['id']))
    {
    $id=$_GET['id'];
    require_once ("config.php");
    $sql="SELECT * FROM nome_tabella WHERE id='$id'";
    $query=@mysql_query ($sql) or die (mysql_error());

    while ($array=mysql_fetch_array($query))
    {
    echo $array['nome']." - ".$array['cognome']." - ".$array['citta'];
    }
    }
    else
    {
    echo "Errore di parametro";
    }
    }
    else
    {
    echo "Nessun parametro";
    }
    ?>
    [/php]In maniera sempliciotta questa dovrebbe essere la base di partenza immagino. 🙂


  • User

    Ti dovrei fare una statua d'oro! Grazie !


  • User

    Ma come creo la tabella?

    Lo script mi da un errore "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)".


  • Consiglio Direttivo

    La tabella dovresti crearla da PhpMyAdmin, impostando il campo id autoincrement e primary key, e gli altri campi VARCHAR (50).
    😉


  • User

    Puoi eseguire questa query tramite phpMyAdmin, ti creerà una tabella utenti, con i 3 campi che ti servono, nominati nome, cognome, citta

    
    CREATE TABLE utenti (
                                        id INT (5) UNSIGNED not null AUTO_INCREMENT,
                                        nome VARCHAR (50) not null,
                                        cognome VARCHAR (50) not null,
                                        citta VARCHAR (50) not null,
                                        PRIMARY KEY (id)
                                      )