Pagina 2 di 4 PrimoPrimo 1234 UltimoUltimo
Visualizzazione risultati 31 fino 60 di 95

Discussione: come memorizzare dati di un form in un database (era:Data base)

  1. #31
    Guest

    Predefinito

    Scusate, errore di distrazione

  2. #32
    Guest

    Predefinito

    Eccoci alla fine con l'ultima modifica postata da palla000:
    compilando il form senza il campo telefono o immettendo lettere ottengo la risposta: Il campo telefono può contenere solo numeri!
    compilando il form senza il campo nome ottengo la risposta: I dati sono stati inviati con successo!
    compilando il form in tutti campi ottengo la risposta: I dati sono stati inviati con successo!

    Sembra che tutto funzioni ma.... dove vado a vedere i dati inviati?
    Ultima modifica di dietizziamoci : 15-05-2009 alle ore 21.49.29

  3. #33
    Guest

    Predefinito

    Dovrebbe inserirli nella tabella, esegui la query per quello

  4. #34
    Guest

    Predefinito

    scusa ma come detto all'inizio sono un po a digiuno di linguaggio informatico. potresti spiegarmi semplicemente i passi per eseguire una query in modo da stampare a video i dati conservati nel database?

  5. #35
    Guest

    Predefinito

    Te le hanno già fatte le pagine!
    In ogni caso: Guida PHP e MySQL Pratica

  6. #36
    Guest

    Predefinito

    in teoria dovresti visualizzare tutti i dati inseriti nella pagina visualizza.php

  7. #37
    Guest

    Predefinito

    in visualizza.php però i messaggi li possono vedere tutti e da come ho letto nei post precedenti li dovrebbero leggere solo i dottori o sbaglio ?

  8. #38
    Guest

    Predefinito

    Se vuoi che sia tutto ad un gruppo ristretto la modifica da fare è abbastanza grandetta.

    Dovrai permettere la registrazione e il login da parte dagli utenti, inserire in un gruppo l'utente (magari dottore) in modo da poter permettere la visualizzazione solo a loro, quindi fare una condizione, che se l'utente è dottore li mostra altrimenti mostra un errore o quel che si vuole

  9. #39
    Guest

    Predefinito

    Non ho problemi per inserire una password. Il problema è che nella pagina visualizza.php non avevo inserito il nome della tabella e mi dava una pagina bianca (scusate...). Tutto risolto, ora funziona benisso tranne che:
    in visualizza.php se seleziono l'opzione cancella non la esegue.
    L'id del form compilato non si resetta anche se si cancella direttamente dal database. IN pratica la numerazione è progressiva e non resettabile.
    Il campo nome non è obbligatorio nel form e sarebbe utile lo fosse.
    Il campo telefono compare solo l'intestazione Telefono:
    Il campo email non compare
    Il campo testo compare ma senza intestazione

    La stampa a video è la seguente:

    1 prova
    Telefono:
    prova
    Cancella
    Ultima modifica di dietizziamoci : 16-05-2009 alle ore 16.37.39

  10. #40
    Guest

    Predefinito

    ho visto che ce un errore se non scrivi dei campi in index.php e non capisco perchè mi da questo errore
    Fatal error: Call to undefined function: emtpy() in /membri/dietizziamoci/contattailmedico/dietologo/index.php on line 12
    non capisco perchè dice che non esiste...

    prova così allora
    Codice PHP:
    <?php

    include("config.php");

    if(isset(
    $_POST['Button1']))
    {
    $nome = trim(htmlentities($_POST['Nome']));
    $telefono = trim(htmlentities($_POST['Telefono']));
    $mail = htmlspecialchars(trim(str_replace(' ', '', $_POST['Email'])));
    $note = trim(htmlentities($_POST['Note']));

    if(isset(
    $nome) && isset($telefono) && isset($mail) && isset($note)
    {
    die(
    "Deve compilare tutti i campi!");
    }
    elseif(!
    eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$mail))
    {
    die(
    "La sintassi della mail non è corretta!");
    }
    elseif(!
    is_numeric($telefono))
    {
    die(
    "Il campo telefono può contenere solo numeri!");
    }

    $sql = "INSERT INTO " . $nome_tabella. " (nome, telefono, mail, note)
    VALUES('"
    . mysql_real_escape_string($nome) . "', '" . mysql_real_escape_string($telefono) . "', '" . mysql_real_escape_string($mail) . "', '" . mysql_real_escape_string($note) . "')";

    if (!(
    $q = mysql_query($sql)))
    {
    die(
    "errore nella query: ".mysql_error());
    }
    echo
    "I dati sono stati inviati con successo!";
    }
    else
    {
    ?>
    <form name="contact" method="post" action="<?= $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" id="Form1" onreset="ShowObject('TextArea1', 1);return false;">
    <input type="hidden" name="" value="">
    <input type="text" id="Editbox1" style="position:absolute;left:70px;top:0px;width:200px;font-family:Courier New;font-size:16px;z-index:0" size="20" name="Nome" value="">
    <input type="text" id="Editbox2" style="position:absolute;left:70px;top:29px;width:200px;font-family:Courier New;font-size:16px;z-index:1" size="20" name="Telefono" value="">
    <input type="text" id="Editbox3" style="position:absolute;left:70px;top:58px;width:200px;font-family:Courier New;font-size:16px;z-index:2" size="20" name="Email" value="">
    <textarea name="Note" id="TextArea1" style="position:absolute;left:70px;top:87px;width:454px;height:126px;z-index:3" rows="5" cols="43">Gentilissimo dottore,
    porto alla sua attenzione la seguente mia patologia:
    </textarea>
    <input type="reset" id="Button2" name="Button2" value="Cancella" style="position:absolute;left:174px;top:217px;width:96px;height:25px;z-index:4">
    <input type="submit" id="Button1" name="Button1" value="Invia" style="position:absolute;left:71px;top:217px;width:96px;height:25px;z-index:5">
    <div id="wb_Text4" style="position:absolute;left:1px;top:33px;width:65px;height:16px;z-index:6" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Telefono:</b></font></div>
    <div id="wb_Text5" style="position:absolute;left:1px;top:63px;width:50px;height:16px;z-index:7" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Email:</b></font></div>
    <div id="wb_Text6" style="position:absolute;left:1px;top:89px;width:50px;height:16px;z-index:8" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Note:</b></font></div>
    <div id="wb_Text3" style="position:absolute;left:2px;top:6px;width:50px;height:16px;z-index:9" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Nome:</b></font></div>
    </form>
    <?php
    }
    ?>

  11. #41
    Guest

    Predefinito

    L'errore sta qui
    if(empty($nome) && empty($telefono) && empty($mail) && emtpy($note)
    invece di empty($note) c'è emtpy($note)

  12. #42
    Guest

    Predefinito

    E aggiungi una tonda chiusa dopo:
    Codice PHP:
    if(isset($nome) && isset($telefono) && isset($mail) && isset($note)

  13. #43
    Guest

    Predefinito

    biccheddu: ho aggiunto la parentesi ma anche adottando la correzione continua a darmi gli stessi problemi di prima.
    fabio29: dove dovrei trovare quella stringa? perchè in index non c'è.

  14. #44
    Guest

    Predefinito

    scusate per la parentesi
    ma qualcuno sa perchè veniva quel errore??

  15. #45
    Guest

    Predefinito

    @dietizziamoci: in index c'è
    comunque questo è il codice corretto
    Codice PHP:
    <?php

    include("config.php");

    if(isset(
    $_POST['Button1']))
    {
    $nome = trim(htmlentities($_POST['Nome']));
    $telefono = trim(htmlentities($_POST['Telefono']));
    $mail = htmlspecialchars(trim(str_replace(' ', '', $_POST['Email'])));
    $note = trim(htmlentities($_POST['Note']));

    if(empty(
    $nome) && empty($telefono) && empty($mail) && empty($note))
    {
    die(
    "Deve compilare tutti i campi!");
    }
    elseif(!
    eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$mail))
    {
    die(
    "La sintassi della mail non è corretta!");
    }
    elseif(!
    is_numeric($telefono))
    {
    die(
    "Il campo telefono può contenere solo numeri!");
    }

    $sql = "INSERT INTO " . $nome_tabella. " (nome, telefono, mail, note)
    VALUES('"
    . mysql_real_escape_string($nome) . "', '" . mysql_real_escape_string($telefono) . "', '" . mysql_real_escape_string($mail) . "', '" . mysql_real_escape_string($note) . "')";

    if (!(
    $q = mysql_query($sql)))
    {
    die(
    "errore nella query: ".mysql_error());
    }
    echo
    "I dati sono stati inviati con successo!";
    }
    else
    {
    ?>
    <form name="contact" method="post" action="<?= $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" id="Form1" onreset="ShowObject('TextArea1', 1);return false;">
    <input type="hidden" name="" value="">
    <input type="text" id="Editbox1" style="position:absolute;left:70px;top:0px;width:200px;font-family:Courier New;font-size:16px;z-index:0" size="20" name="Nome" value="">
    <input type="text" id="Editbox2" style="position:absolute;left:70px;top:29px;width:200px;font-family:Courier New;font-size:16px;z-index:1" size="20" name="Telefono" value="">
    <input type="text" id="Editbox3" style="position:absolute;left:70px;top:58px;width:200px;font-family:Courier New;font-size:16px;z-index:2" size="20" name="Email" value="">
    <textarea name="Note" id="TextArea1" style="position:absolute;left:70px;top:87px;width:454px;height:126px;z-index:3" rows="5" cols="43">Gentilissimo dottore,
    porto alla sua attenzione la seguente mia patologia:
    </textarea>
    <input type="reset" id="Button2" name="Button2" value="Cancella" style="position:absolute;left:174px;top:217px;width:96px;height:25px;z-index:4">
    <input type="submit" id="Button1" name="Button1" value="Invia" style="position:absolute;left:71px;top:217px;width:96px;height:25px;z-index:5">
    <div id="wb_Text4" style="position:absolute;left:1px;top:33px;width:65px;height:16px;z-index:6" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Telefono:</b></font></div>
    <div id="wb_Text5" style="position:absolute;left:1px;top:63px;width:50px;height:16px;z-index:7" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Email:</b></font></div>
    <div id="wb_Text6" style="position:absolute;left:1px;top:89px;width:50px;height:16px;z-index:8" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Note:</b></font></div>
    <div id="wb_Text3" style="position:absolute;left:2px;top:6px;width:50px;height:16px;z-index:9" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Nome:</b></font></div>
    </form>
    <?php
    }
    ?>
    @palla000:
    L'errore sta qui
    if(empty($nome) && empty($telefono) && empty($mail) && emtpy($note)

    emtpy() non è una funzione

  16. #46
    Guest

    Predefinito

    e cosa è se non è una funzione??

  17. #47
    Guest

    Predefinito

    grazie per la pazienza (a tutti) e l'aiuto che mi state offrendo
    @fabio29: ho modificato la pagina secondo le tue indicazioni ma:

    La numerazione id del form è progressiva e non resettabile.
    Il campo nome compare ma non è obbligatorio nel form e sarebbe utile lo fosse.
    Il campo telefono non compare anche se correttamente compilato nel form
    Il campo email non compare anche se correttamente compilato nel form
    Il campo testo compare
    L'opzione cancella mi rimanda a questa opzione: Sei sicuro di voler cancellare la richiesta? Sì No, se premo si non cancella nulla, se premo no mi riporta correttamente alla pagina visualizza.php.

    La stampa a video della pagina visualizza.php è la seguente:

    1 prova
    Telefono:
    prova
    Cancella
    Ultima modifica di dietizziamoci : 17-05-2009 alle ore 14.53.20

  18. #48
    Guest

    Predefinito

    prova così

    cancella.php
    Codice PHP:
    <?php

    include("config.php");

    $id = $_GET['id'];
    if(!
    is_numeric($id))
    die(
    "Puoi inserire solo numeri nell'url!");

    if(isset(
    $_GET['id'])) {

    if(isset(
    $_GET['ok'])) {

    $sql = "DELETE FROM ".$nome_tabella." WHERE id = ".$id;
    $q1 = mysql_query($sql) or die("Errore nella query1: ".mysql_error());
    if(
    $q1)
    echo
    "La richiesta è stata cancellata con successo!";
    else
    echo
    "Errore nella cancellazione della richiesta";

    }

    echo
    "Sei sicuro di voler cancellare la richiesta?<br />";
    echo
    "<a href=\"cancella.php?id=".$id."\">Sì</a> <a href=\"visualizza.php\">No</a>";

    }

    ?>

  19. #49
    Guest

    Predefinito

    scusa ma in cancella.php negli url non c'è traccia di $_GET['ok']
    quindi come fa a funzionare ?
    if(isset($_GET['ok'])) ???
    darà sempre la condizione nell'else no?

  20. #50
    Guest

    Predefinito

    cavolo è vero!!! xD ho sbagliato l'url del link di sì
    Codice PHP:
    <?php

    include("config.php");

    $id = $_GET['id'];
    if(!
    is_numeric($id))
    die(
    "Puoi inserire solo numeri nell'url!");

    if(isset(
    $_GET['id'])) {

    if(isset(
    $_GET['ok'])) {

    $sql = "DELETE FROM ".$nome_tabella." WHERE id = ".$id;
    $q1 = mysql_query($sql) or die("Errore nella query1: ".mysql_error());
    if(
    $q1)
    echo
    "La richiesta è stata cancellata con successo!";
    else
    echo
    "Errore nella cancellazione della richiesta";

    }

    echo
    "Sei sicuro di voler cancellare la richiesta?<br />";
    echo
    "<a href=\"cancella.php?id=".$id."&ok\">Sì</a> <a href=\"visualizza.php\">No</a>";

    }

    ?>

  21. #51
    Guest

    Predefinito

    @palla
    Funziona molto bene :-)
    Sei sicuro di voler cancellare la richiesta?
    Sì No
    Se però clicco sul si mi si ripropone la domanda
    La richiesta è stata cancellata con successo!Sei sicuro di voler cancellare la richiesta?
    Sì No
    Se clicco sul si non fa, se clicco sul no mi rimanda alla pagina visualizza.php

    Continuano però ad esserci i seguenti problemi:
    La numerazione id del form è progressiva e non resettabile.
    Il campo nome compare ma non è obbligatorio nel form e sarebbe utile lo fosse.
    Il campo telefono non compare anche se correttamente compilato nel form
    Il campo email non compare anche se correttamente compilato nel form

  22. #52
    Guest

    Predefinito

    prova con questo codice su cancella.php
    Codice PHP:
    <?php

    include("config.php");

    $id = $_GET['id'];
    if(!
    is_numeric($id))
    die(
    "Puoi inserire solo numeri nell'url!");

    if(isset(
    $_GET['id'])) {

    if(isset(
    $_GET['ok'])) {

    $sql = "DELETE FROM ".$nome_tabella." WHERE id = ".$id;
    $q1 = mysql_query($sql) or die("Errore nella query1: ".mysql_error());
    if(
    $q1){
    echo
    "La richiesta è stata cancellata con successo!";}else{
    echo
    "Errore nella cancellazione della richiesta";}

    }else{
    echo
    "Sei sicuro di voler cancellare la richiesta?<br />";
    echo
    "<a href=\"cancella.php?id=".$id."&ok\">Sì</a>&nbsp;<a href=\"visualizza.php\">No</a>";}


    }

    ?>
    la numerazione degli id non mi sembra un problema :)

    EDIT:
    Per il nome prova questo

    index.php
    Codice PHP:
    <?php

    include("config.php");

    if(isset(
    $_POST['Button1']))
    {
    $nome = trim(htmlentities($_POST['Nome']));
    $telefono = trim(htmlentities($_POST['Telefono']));
    $mail = htmlspecialchars(trim(str_replace(' ', '', $_POST['Email'])));
    $note = trim(htmlentities($_POST['Note']));

    if(empty(
    $nome) && empty($telefono) && empty($mail) && empty($note))
    {
    die(
    "Deve compilare tutti i campi!");
    } elseif(empty(
    $nome))
    {
    die(
    "Il campo nome è vuoto!");}
    elseif(!
    eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$mail))
    {
    die(
    "La sintassi della mail non è corretta!");
    }
    elseif(!
    is_numeric($telefono))
    {
    die(
    "Il campo telefono può contenere solo numeri!");
    }

    $sql = "INSERT INTO " . $nome_tabella. " (nome, telefono, mail, note)
    VALUES('"
    . mysql_real_escape_string($nome) . "', '" . mysql_real_escape_string($telefono) . "', '" . mysql_real_escape_string($mail) . "', '" . mysql_real_escape_string($note) . "')";

    if (!(
    $q = mysql_query($sql)))
    {
    die(
    "errore nella query: ".mysql_error());
    }
    echo
    "I dati sono stati inviati con successo!";
    }
    else
    {
    ?>
    <form name="contact" method="post" action="<?= $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" id="Form1" onreset="ShowObject('TextArea1', 1);return false;">
    <input type="hidden" name="" value="">
    <input type="text" id="Editbox1" style="position:absolute;left:70px;top:0px;width:200px;font-family:Courier New;font-size:16px;z-index:0" size="20" name="Nome" value="">
    <input type="text" id="Editbox2" style="position:absolute;left:70px;top:29px;width:200px;font-family:Courier New;font-size:16px;z-index:1" size="20" name="Telefono" value="">
    <input type="text" id="Editbox3" style="position:absolute;left:70px;top:58px;width:200px;font-family:Courier New;font-size:16px;z-index:2" size="20" name="Email" value="">
    <textarea name="Note" id="TextArea1" style="position:absolute;left:70px;top:87px;width:454px;height:126px;z-index:3" rows="5" cols="43">Gentilissimo dottore,
    porto alla sua attenzione la seguente mia patologia:
    </textarea>
    <input type="reset" id="Button2" name="Button2" value="Cancella" style="position:absolute;left:174px;top:217px;width:96px;height:25px;z-index:4">
    <input type="submit" id="Button1" name="Button1" value="Invia" style="position:absolute;left:71px;top:217px;width:96px;height:25px;z-index:5">
    <div id="wb_Text4" style="position:absolute;left:1px;top:33px;width:65px;height:16px;z-index:6" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Telefono:</b></font></div>
    <div id="wb_Text5" style="position:absolute;left:1px;top:63px;width:50px;height:16px;z-index:7" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Email:</b></font></div>
    <div id="wb_Text6" style="position:absolute;left:1px;top:89px;width:50px;height:16px;z-index:8" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Note:</b></font></div>
    <div id="wb_Text3" style="position:absolute;left:2px;top:6px;width:50px;height:16px;z-index:9" align="left">
    <font style="font-size:13px" color="#000000" face="Arial"><b>Nome:</b></font></div>
    </form>
    <?php
    }
    ?>
    controlla se il nome è vuoto,
    se poi vuoi che il nome contenga solo lettere puoi mettere is_string($nome) oppure usare le espressioni regolari come per la mail

    poi per il numero in visualizza.php
    hai chiamato il campo telefono
    e su visualizza.php invece richiami il campo 'numero'
    ecco il codice
    Codice PHP:
    <?php

    include("config.php");

    $sql=mysql_query("SELECT * FROM tua_tabella");

    echo
    "<table>";

    while((
    $r=mysql_fetch_array($sql))){

    echo
    "<tr><td>".$r['id']."</td><td><h1><strong>".$r['nome']."</strong></h1></td></tr>";
    echo
    "<tr><td>Telefono:</td><td><strong>".$r['telefono']."</strong></td></tr>";
    echo
    "<tr><td>".$r['note']."</td></tr>";
    echo
    "<tr><td><a href=\"cancella.php?id=".$r['id']."\">Cancella</a></td></tr>";
    echo
    "<tr></tr>";

    }

    echo
    "</table>";


    ?>
    Ultima modifica di fabio29 : 17-05-2009 alle ore 19.11.10

  23. #53
    Guest

    Predefinito

    grande fabio29 :-). funziona tutto alla grande.
    Un ultimo sforzo ragazzi. Avrei bisogno ancora di:

    dopo aver compilato il form e dato invio, dopo il messaggio "i dati sono inviati con successo!", bisognerebbe riportarsi sulla home page.

    Inserire per forza un commento nel campo note

    dop aver visualizzato i dati in visualizza.php e dopo aver cancellato i dati e dopo il messaggio "La richiesta è stata cancellata con successo!" bisognerebbe riportarsi sulla pagina visualizza.php

    il campo telefono mi viene stampato senza lo 0 iniziale del prefisso

  24. #54
    Guest

    Predefinito

    io passerei ad esempio 'i dati sono stati inseriti con successo' tramite url (un pò come avviene qui sul pannello di altervista)
    quindi dovresti mettere
    Codice PHP:
    // al posto di echo"I dati sono stati inseriti con successo";//

    $input=urlencode("I dati sono stati inseriti con successo!");
    header("location: tuahomepage.php?input=$input");
    poi in qualche punto della tua tuahomepage.php metterai

    Codice PHP:
    echo $_GET['input'];

  25. #55
    Guest

    Predefinito

    @fabio29: ho provato ma se immetto l'indirizzo della mia home page non va e mi da errore di percorso.

    Se metto index.php mi rporta alla pagina del form.

    Codice PHP:
    $input=urlencode("I dati sono stati inseriti con successo!");
    header("location: index.php?input=$input");

  26. #56
    Guest

    Predefinito

    quale è la tua homepage? index.php? però si trova nella cartella principale giusto? e queste pagine da come ho visto si trovano su contattailmedico/dietologo/
    invece di index metti ../../index.php

  27. #57
    Guest

    Predefinito

    la pagina principale è www.dietizziamoci.altervista.org/index.html, ma se la inserisco mi da questo errore

    La pagina h.ttp://dietizziamoci.altervista.org/contattailmedico/dietologo/www.dietizziamoci.altervista.org/index.html?input=I+dati+sono+stati+inseriti+con+su ccesso%21 non è presente

  28. #58
    Guest

    Predefinito

    alla pagina index.html dovresti cambiare estensione e mettere index.php,

    poi prova con questo
    header("location: http://dietizziamoci.altervista.org/index.php?input=$input");

  29. #59
    Guest

    Predefinito

    Perchè invii un header passando input?

  30. #60
    Guest

    Predefinito

    era una mia idea, tu come avresti fatto?

Pagina 2 di 4 PrimoPrimo 1234 UltimoUltimo

Regole di scrittura

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