Привет, я пытаюсь запрограммировать базовую вставку в проект, который я делаю, который будет принимать user_id и вставить всю информацию пользователя, введенную в базу данных, но все, что происходит, это то, что я перенаправляюсь на страницу php.
im довольно новичок в этом и исследовал в Интернете, чтобы получить это далеко, но теперь я полностью смущен. наш v = текущий сервер не поддерживает PDO (к сожалению), поэтому я полагаюсь на вас, ребята, за помощью.
благодаря
вот мой код:
<?php
session_start();
$server = "server";
$schema = "schema";
$uid = "uid";
$pwd = "pwd";
$user_id=$_SESSION['user_id']
$bookName=$_POST['txt_bookName'];
$bookEmail=$_POST['txt_bookEmail'];
$address=$_POST['txt_address'];
$mobile=$_POST['txt_mobile'];
$telephone=$_POST['txt_telephone'];
$dob=$_POST['txt_dob'];
$emergency=$_POST['txt_emergency'];
$profession=$_POST['txt_profession'];
$nationality=$_POST['txt_nationality'];
@ $db = mysql_connect($server, $uid, $pwd);
if (!$db)
{
echo 'Error: Could not connect to database. Please try again later.';
exit;
}
else
{
mysql_select_db($schema);
$query = "INSERT INTO booking
(user_id, bookName, bookEmail, address, nationality,
mobile, telephone, dob, emergency, proposed_date,
profession )
values ('$user_id', '$bookName','$bookEmail','$address','$nationality',
'$mobile', '$telephone', '$dob', '$emergency', '$proposed_date',
'$profession')";
$result = mysql_query($query);
if ($result)
header("Location: payment.html");
else{
header("Location: bookTour.php");
}
}
mysql_close();
?>
обновить с помощью кода формы
он был отредактирован для более легкого наблюдения
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
} }
</script>
</head>
<form id="frm_booking" name="frm_booking" action ="InsertBooking.php" method="post">
<body>
<div class="cssname">
<p>Book Tours</p>
</div>
<div>
<label><strong>Book Tours</strong></label>
<form>
<p> </p>
<p><strong>List of Tour Details</strong></p>
<table width="666" border="0" align="center" cellspacing="0">
<label>
<input name="txt_bookName" type="text" id="txt_bookName" placeholder="Name"/>
<input name="txt_bookEmail" type="email" id="txt_bookEmail" placeholder="[email protected]"/>
<label>
<input name="txt_address" type="text" id="txt_address" placeholder="Address"/>
</label></td>
<input name="txt_nationality" type="text" id="txt_nationality" placeholder="Nationality"/></td>
<input name="txt_mobile" type="text" id="txt_mobile" placeholder="Mobile"/></td>
<input name="txt_telephone" type="text" id="txt_telephone" placeholder="Telephone"/></td>
</tr>
<tr>
</td>
<input name="txt_dob" type="text" id="txt_dob" placeholder="yyyy-mm-dd"/></td>
<input name="txt_emergency" type="text" id="txt_emergency" placeholder="Emergency Contact"/></td>
<select name="lst_tour" onchange="">
<option value="">Select a Date:</option>
<?php include 'tourSelect.php' ?>
<?php
foreach ( $results as $option ) : ?>
<option value="<?php
echo $option->departure_date; ?>"><?php echo $option->departure_date; ?></option>
<?php endforeach; ?>
</select>
<strong>Type</strong> <strong>date</strong> <strong>here</strong>:
<label>
<input type="text" name="txt_projectDate" id="txt_projectDate" placeHolder "Enter date selected at the left"/>
</label></td>
<input name="txt_profession" type="text" id="txt_profession" placeholder="Profession"/></td>
<textarea name="txt_statement" id="txt_statement" cols="45" rows="5" placeholder="Say a short sentance about yourself"></textarea>
<input name="btn_book" type="submit" class="btn_ragister" id="btn_book" value="Book Now!" style="background-color:#FFF"; border="1" />
Вы действительно должны санировать свой ввод пользователя перед тем, как использовать его в запросе, иначе ваш сайт не поддается SQL-инъекции.
$bookEmail = mysql_real_escape_string($_POST['txt_bookEmail']);
Повторите это для всех ваших vars и, возможно, он также решит вашу ошибку (зависит от используемого входа).
Также: посмотрите, включен ли mysqli, он лучше, чем mysql-расширение (если PDO недоступен).
or die(mysql_error())
перед точкой с запятой после mysql_query. Он скажет вам, если что-то не так.