2012-03-28 7 views
-3

ich wirklich einen Grund denken, kippe es würde ... es gut für mich sieht (wenn es gut war, würde ich nicht hier sein zu fragen)Mein Code wird nicht in db einfügen

Dies geschah vor (siehe meine letzten Posts), wo ich Code aus einem früheren Projekt verwendet habe (das hat gut funktioniert), aber wenn ich es für dieses spezielle Projekt verwendete, würde es nicht funktionieren. Ich habe keine Ahnung, warum es nicht diese besondere Zeit funktioniert, da es vor

funktionierte Kann mir jemand sagen, was ist falsch mit der Abfrage?

<?php 
    $hostname = "localhost"; 
    $db_user = "#"; // change to your database password 
    $db_password = "#"; // change to your database password 
    $database = "#"; // provide your database name 
    $db_table = "#"; // leave this as is 

    # STOP HERE 
    #################################################################### 
    # THIS CODE IS USED TO CONNECT TO THE MYSQL DATABASE 
    $db = mysql_connect($hostname, $db_user, $db_password); 
    mysql_select_db($database,$db); 
    ?> 

    <?php 

    $date = date("Y-m-d H:i:s"); 

    $cfname = preg_replace('#[^A-Za-z0-9.,]#i', '', $_POST['cfname']); 
    $cfname = strip_tags($cfname); 
    $cfname = mysql_real_escape_string($cfname); 
    $cfname = stripslashes($cfname); 

    $clname = preg_replace('#[^A-Za-z0-9.,]#i', '', $_POST['clname']); 
    $clname = strip_tags($clname); 
    $clname = mysql_real_escape_string($clname); 
    $clname = stripslashes($clname); 

    $cname = $cfname+$clname; 

    $cemail = preg_replace('#[^[email protected]_ ]#i', '', $_POST['cemail']); 
    $cemail = strip_tags($cemail); 
    $cemail = mysql_real_escape_string($cemail); 
    $cemail = stripslashes($cemail); 

    $cphone = preg_replace('#[^0-9]#i', '', $_POST['cphone']); 
    $cphone = strip_tags($cphone); 
    $cphone = mysql_real_escape_string($cphone); 
    $cphone = stripslashes($cphone); 

    $caddress = preg_replace('#[^A-Za-z0-9]#i', '', $_POST['caddress']); 
    $caddress = strip_tags($caddress); 
    $caddress = mysql_real_escape_string($caddress); 
    $caddress = stripslashes($caddress); 

    $caddress2 = preg_replace('#[^A-Za-z0-9]#i', '', $_POST['caddress2']); 
    $caddress2 = strip_tags($caddress2); 
    $caddress2 = mysql_real_escape_string($caddress2); 
    $caddress2 = stripslashes($caddress2); 

    $cage = preg_replace('#[^0-9]#i', '', $_POST['cage']); 
    $cage = strip_tags($cage); 
    $cage = mysql_real_escape_string($cage); 
    $cage = stripslashes($cage); 

    $cnationality = preg_replace('#[^A-Za-z,]#i', '', $_POST['cnationality']); 
    $cnationality = strip_tags($cnationality); 
    $cnationality = mysql_real_escape_string($cnationality); 
    $cnationality = stripslashes($cnationality); 

    $flightno = $_POST['flightno']; 
    $flightno = strip_tags($flightno); 
    $flightno = mysql_real_escape_string($flightno); 

    $resno = $flightno*2; 

    if (isset($_REQUEST['Submit'])) { 
    # THIS CODE TELL MYSQL TO INSERT THE DATA FROM THE FORM INTO YOUR MYSQL TABLE 
    $sql ="INSERT INTO $db_table(cust_name,cust_email,cust_phone,cust_add,cust_add2,cust_age,cust_nationality,flight_no,resno) VALUES ('$cname','$cemail','$cphone','$caddress', '$caddress', '$caddress2', '$cage', '$cnationality', '$flightno', '$resno')"; 
    if($result = mysql_query($sql ,$db)) { 
    echo '<meta http-equiv="refresh" content="35,search.php" />Thank you for 

    reserving your e-ticket. Your reservation number is $resno. Please keep it to 

    confirm your reservation. You can confirm your ticket by calling this number 1- 

    800-NOTAREALNUMBER or you can visit our offices located in The South Pole next 

    to Willy Wonkas Chocolate Factory. Have a great day! <p><a 

    href="search.php"><small>Click here to go back</small></a></p>'; 
    } else { 
    echo "ERROR: ".mysql_error(); 
    } 
    } else { echo ""?> 
    <form onsubmit="return validateForm()" enctype="text/plain" method="post" 

    action="" name="cusBooking"> 
    <table style="text-align: left; background-color: white; width: 425px; height: 

    143px;" border="0" cellpadding="1" cellspacing="3"> 
    <tbody> 
    <tr> 
    <td> 
    <small>First name: </small><input type="text" name="cfname" /> 
    </td> 
    <td> 
    <small>Last name: </small><input type="text" name="clname" /> 
    </td> 
    </tr> 
    <tr> 
    <td> 
    <small>Email: </small><input type="text" name="cemail" /> 
    </td> 
    <td> 
    <small>Phone number: </small><input type="text" name="cphone" /> 
    </td> 
    </tr> 
    <tr> 
    <td> 
    <small>Address: </small><input type="text" name="caddress" /> 
    </td> 
    <td> 
    <small>Address 2: </small><input type="text" name="caddress2" /> 
    </td> 
    </tr> 
    <tr> 
    <td> 
    <small>Age: <input type="text" name="cage" /> 
    </td> 
    <td> 
    <small>Nationality: </small><input type="text" name="cnationality" /> 
    </td> 
    </tr> 
    <tr> 
    <td> 
    <input name="flightno" value='<?php echo "$flightno"?>' type="hidden"> 
    </td> 
    <td> 
    <input name="Submit" type="image" tabindex="5" src="images/flight_button.png" 

    value="Submit Your Site" /> 
    </td> 
    </tr> 
    </tbody> 
    </table> 
    </form> 
    <?php 
    } 
    ?> 
+0

Es würde helfen, wenn Sie uns sagen, was der Fehler war ... – Quentin

+1

Die Daten mit 'mysql_real_escape_string' zu entgehen und dann sofort ** mit' stripslashes' unlesbar zu machen ist völlig verrückt. – Quentin

+0

Ich hatte absolut keine Ahnung lol danke für den Zeiger –

Antwort

1

Sie haben dies:

if (isset($_REQUEST['Submit'])) { 

So ist die Datenbank Einschieben Code wird nur dann ausgeführt werden, wenn die Formulardaten (oder ein Cookie !!) einen Parameter Submit mit einem wahren Wert genannt hat.

Ihre Form wird oft nicht einen solchen Wert als Submit ist ein Bildeingabe namens Kontrolle vorlegen (die in einigen Browsern macht nur Submit.x und Submit.y (die PHP Submit_x und Submit_y umbenennen wird.)

Sie auch haben enctype="text/plain"

Wenn tatsächlich jeder Browser unterstützt diesen Wert für das Attribut enctype, dann wird es nicht die Daten in einem strukturierten Format kodieren, so PHP nicht in der Lage sein zu erwarten sind daraus keine Parameter zu extrahieren.

+0

half aus. Vielen Dank –

1
"INSERT INTO $db_table(9 ITEMS) VALUES (10 ITEMS)" 

'$caddress' gibt es zweimal in der Abfrage, verwenden Parameter Probleme wie diese zu verhindern, überprüfen PDO

Oder zumindest besser Format Ihren Code so wie diese besser sichtbar sein könnte verwechseln.