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

    Form + php (inserire dati in DB mysql)

    ciao a tutti...sono nuovo di qui...ho letto le vostre guide...ed oltre ad essere PERFETTE sono anche semplici da capire!!!

    ma veniamo al motivo vero per cui mi sono iscritto...sto realizzando un sitarello e mi serve inserire dei dati presi da un form in un DB mysql con il php...

    purtroppo però mi ritorna un errore alla riga INSERT INTO....

    vi posto il codice...

    questo è quello del form...


    <?php

    echo "<form method=\"post\" action=\"eseguito.php\">";
    echo "

    Total Flight Number:";
    echo "<input name=\"TotalFlightNumber\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Company ICAO:";
    echo "<input name=\"CompanyICAO\" type=\"text\" size=\"5\" value=\"VIA\">";
    echo "</p>";

    echo "

    Flight number:";
    echo "<input name=\"FlightNumber\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Pilot Number:";
    echo "<input name=\"PilotNumber\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Date:";
    echo "<input name=\"Date\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Hour:";
    echo "<input name=\"Hour\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Callsign:";
    echo "<input name=\"Callsign\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    IATA Number:";
    echo "<input name=\"IATANumber\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Registration:";
    echo "<input name=\"Registration\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Depart:";
    echo "<input name=\"Depart\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Arrival:";
    echo "<input name=\"Arrival\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Plane Type:";
    echo "<input name=\"PlaneType\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Spent fuel:";
    echo "<input name=\"SpentFuel\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Init Fuel:";
    echo "<input name=\"InitFuel\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    End Fuel:";
    echo "<input name=\"EndFuel\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Duration:";
    echo "<input name=\"Duration\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Lenght:";
    echo "<input name=\"Length\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    TouchDownVerticalSpeed:";
    echo "<input name=\"ToutchDownVerticalSpeed\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    TouchDownSpeed:";
    echo "<input name=\"ToutchDownSpeed\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    TakeOffWeight:";
    echo "<input name=\"TakeOffWeight\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Flighting Level:";
    echo "<input name=\"FlightingLevel\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Route:";
    echo "<input name=\"Route\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    Log:";
    echo "<input name=\"Log\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    VSup:";
    echo "<input name=\"VSup\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    VSdn:";
    echo "<input name=\"VSdn\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    IASCruise:";
    echo "<input name=\"IASCruise\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    FuelFlowTOC:";
    echo "<input name=\"FuelFlowTOC\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    FuelFlowCruise:";
    echo "<input name=\"FuelFlowCruise\" type=\"text\" size=\"5\">";
    echo "</p>";

    echo "

    FuelFlowTOD:";
    echo "<input name=\"FuelFlowTOD\" type=\"text\" size=\"5\">";
    echo "</p>";


    echo "

    OnLine:";
    echo "<input name=\"OnLine\" type=\"text\" size=\"5\">";
    echo "</p>";


    echo "

    ";
    echo "<input type=\"submit\" value=\"Invia\">";
    echo "</p>";
    echo "</form>";


    ?>


    ----------------questo quello dell'invio dei dati....

    <?php
    include("config.inc.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE) die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");

    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $TotalFlightNumber=$_POST['TotalFlightNumber'];
    $CompanyICAO=$_POST['CompanyICAO'];
    $FlightNumber=$_POST['FlightNumber'];
    $PilotNumber=$_POST['PilotNumber'];
    $Date=$_POST['Date'];
    $Hour=$_POST['Hour'];
    $Callsign=$_POST['Callsign'];
    $IATANumber=$_POST['IATANumber'];
    $Registration=$_POST['Registration'];
    $Depart=$_POST['Depart'];
    $Arrival=$_POST['Arrival'];
    $PlaneType=$_POST['PlaneType'];
    $SpentFuel=$_POST['SpentFuel'];
    $InitFuel=$_POST['InitFuel'];
    $EndFuel=$_POST['EndFuel'];
    $Duration=$_POST['Duration'];
    $Length=$_POST['Length'];
    $ToutchDownVerticalSpeed=$_POST['ToutchDownVerticalSpeed'];
    $ToutchDownSpeed=$_POST['ToutchDownSpeed'];
    $TakeOffWeight=$_POST['TakeOffWeight'];
    $FlightingLevel=$_POST['FlightingLevel'];
    $Route=$_POST['Route'];
    $Log=$_POST['Log'];
    $VSup=$_POST['VSup'];
    $VSdn=$_POST['VSdn'];
    $IASCruise=$_POST['IASCruise'];
    $FuelFlowTOC=$_POST['FuelFlowTOC'];
    $FuelFlowCruise=$_POST['FuelFlowCruise'];
    $FuelFlowTOD=$_POST['FuelFlowTOD'];
    $OnLine=$_POST['OnLine'];


    INSERT INTO FSacarsOL (`TotalFlightNumber` , `CompanyICAO` , `FlightNumber` , `PilotNumber` , `Date` , `Hour` , `Callsign` , `IATANumber` , `Registration` , `Depart` , `Arrival` , `PlaneType` , `SpentFuel` , `InitFuel` , `EndFuel` , `Duration` , `Length` , `ToutchDownVerticalSpeed` , `ToutchDownSpeed` , `TakeOffWeight` , `FlightLevel` , `Route` , `Log` , `VSUp` , `VSDn` , `IASCruise` , `FuelFlowTOC` , `FuelFlowCruise` , `FuelFlowTOD` , `Online`)
    VALUES('$TotalFlightNumber','$CompanyICAO','$Fligh tNumber','$PilotNumber','$Date','$Hour','$Callsign ','$IATANumber','$Registration','$Depart','$Arriva l','$PlaneType','$SpentFuel','$InitFuel','$EndFuel ','$Duration','$Length','$ToutchDownVerticalSpeed' ,'$ToutchDownSpeed','$TakeOffWeight','$FlightingLe vel','$Route','$Log','$VSup','$VSdn','$IASCruise', '$FuelFlowTOC','$FuelFlowCruise','$FuelFlowTOD','$ OnLine')


    mysql_close($db);
    ?>



    Confido in voi...perchè io non so piu cosa guardare!!!

    ciao e grazie mille a tutti in anticipo!

    Massimo

  2. #2
    Così di primo acchitto mi sembra che manchi proprio la parte fondamentale per l'inserimento dei valori: la query sql. Prova così:

    Codice PHP:
    $sql "INSERT INTO FSacarsOL (`TotalFlightNumber` , `CompanyICAO` , `FlightNumber` , `PilotNumber` , `Date` , `Hour` , `Callsign` , `IATANumber` , `Registration` , `Depart` , `Arrival` , `PlaneType` , `SpentFuel` , `InitFuel` , `EndFuel` , `Duration` , `Length` , `ToutchDownVerticalSpeed` , `ToutchDownSpeed` , `TakeOffWeight` , `FlightLevel` , `Route` , `Log` , `VSUp` , `VSDn` , `IASCruise` , `FuelFlowTOC` , `FuelFlowCruise` , `FuelFlowTOD` , `Online`)
    VALUES('
    $TotalFlightNumber','$CompanyICAO','$FlightNumber','$PilotNumber','$Date','$Hour','$Callsign','$IATANumber','$Registration','$Depart','$Arrival','$PlaneType','$SpentFuel','$InitFuel','$EndFuel','$Duration','$Length','$ToutchDownVerticalSpeed','$ToutchDownSpeed','$TakeOffWeight','$FlightingLevel','$Route','$Log','$VSup','$VSdn','$IASCruise','$FuelFlowTOC','$FuelFlowCruise','$FuelFlowTOD','$OnLine')";

    $query mysql_query($sql$db) or die("Impossibile eseguire la query: " mysql_error()); 
    daN.

  3. #3
    Inoltre manca anche un minimo controllo sui dati inseriti.

    Per esempio, metti caso inserisci un apostrofo in un campo, la query darà errore perchè l'apostrofo è un carattere che il MySQL usa anche per separare i valori delle variabili.

    Codice PHP:
    $query "INSERT INTO tabella (nome1, nome2) VALUES ('" $_POST['valore1'] . "', '" $_POST['valore2'] . "')"
    Ponendo che da un form passi al campo di nome valore1 un valore come dell'amico nella query il PHP andrà a fare questo lavoro:

    Codice PHP:
    $query "INSERT INTO tabella (nome1, nome2) VALUES ('dell'amico', '" $_POST['valore2'] . "')"
    Capirai anche da solo che quell'apostrofo sballa tutto perchè è come se chiudesse quel valore.

    Per evitare questi problemi c'è una semplice funzione PHP che inserisce per questi caratteri speciali quello di escape: lo slash, che fa sì che quei caratteri vengano visti come normali caratteri e non vadino a modificare la query.

    La funzione in questione è addslashes():

    Codice PHP:
    // ESEMPIO

    $valore1 addslashes($_POST['valore1']);

    // Il valore ora non sarà più semplicemente dell'amico ma: dell\'amico 
    Questa è la protezione di base che serve ad evitare sia errori nella query sia le cosiddette SQL Injection.


  4. #4
    Cavoli...grazie mille!!!

    purtroppo sono autodidatta e sono veramente alle prime armi con il php

    chiedo scusa se ho fatto una domanda stupida...

    grazie infinite adesso provo e vi faccio sapere...

    Ciao

  5. #5
    EDIT FUNZIONA!!!!!!!!! grazie!!!

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.