form submit
ik was een beetje aan het zoeken naar makkelijke
mannier om op basis van verschillende submit buttons
verschillende php scripts aan te roepen.
Nu kom ik echter op volgende probleem
dat hij telkens eens "Error: Unknown column 'flight' in 'field list'"
geeft.
Komt dit doordat er een 2de pagina wordt ingeladen? Of is er een
mannier om dit op te lossen, of gewoon een makkelijkere mannier
om dit uberhaupt de te doen.
Mijn form verwijst met action naar scriptchoice.php dat er als
volgt uitziet:
Code (php)
Ik weet dat hij de goeie keuze kiest omdat ik op 1 vd 2 pagina's een echo heb staan
met de formvelden maar deze zijn dan ook blanco.
Is er iemand die raad weet?
thanks alvast!
isset of empty.
En op welke regel staat de error? Kan je misschien wat code daarvoor en daarachter op het forum zetten?
if($_POST['submit']) doet niks. Je zoekt waarschijnlijk naar En op welke regel staat de error? Kan je misschien wat code daarvoor en daarachter op het forum zetten?
De enige error die ik krijg was die "Error: Unknown column 'flight' in 'field list'" maar dat was men eigen domme fout aangezien ik naar verkeerde tabel linkte.
Maar de velden die hij nu correct verwerkt zijn allemaal leeg.
De code van de scriptchoice.php is eigenlijk alleen maar:
Of is er een andere mogelijkheid om in een form met submit buttons te werken: submit button1-> oi_new_insert.php
submit button2-> oi_next_insert.php
code van het form:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script src="../SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<link href="../SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="oi" name="oi" method="post" action="index.php?page=scriptchoice">
<p><strong>Add operational irregularity</strong></p>
<table width="345" border="1">
<tr>
<td width="89">Flight nr.</td>
<td width="240"><label for="flight"></label>
<span id="sprytextfield1">
<input name="flight" type="text" id="flight" size="10" />
<span class="textfieldRequiredMsg">A value is required.</span></span> </td>
</tr>
<tr>
<td>action</td>
<td><label for="action"></label>
<select name="action" id="action">
<option value="delay">delay</option>
<option value="cancel">cancel</option>
<option value="diverted">diverted</option>
<option value="other">other</option>
</select></td>
</tr>
<tr>
<td>delay time</td>
<td><span id="sprytextfield2">
<input name="delay" type="text" id="delay" size="10" />
<span class="textfieldRequiredMsg">A value is required.</span><span class="textfieldInvalidFormatMsg">Invalid format.</span></span></td>
</tr>
<tr>
<td>reason</td>
<td><input name="reason" type="text" id="reason" size="40" /></td>
</tr>
<tr>
<td>remarks</td>
<td><input name="remark" type="text" id="remark" size="40" /></td>
</tr>
</table>
<p>
<input type="submit" value="Button 1" name="button1">
<input type="submit" value="Button 2" name="button2">
<input type="reset" name="button2" id="button2" value="Reset" />
</p>
</form>
<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1");
var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2", "time", {useCharacterMasking:true});
</script>
</body>
</html>
code van de oi_new_insert.php:
Code (php)
en de code van de oi_new_insert.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
include('connect.php');
$datum = date("d/m/y - H:i");
$flight = $_POST["flight"];
$action = $_POST["action"];
$delay = $_POST["delay"];
$reason = $_POST["reason"];
$remark = $_POST["remark"];
/*echo "$record , $datum , $author, $title , $info , $additional , $priority, $ip";*/
$sql = "INSERT INTO irregularity( datum, flight, action, delay, reason, remark) VALUES
(
'" . mysql_real_escape_string($datum) . "',
'" . mysql_real_escape_string($flight) . "',
'" . mysql_real_escape_string($action) . "',
'" . mysql_real_escape_string($delay) . "',
'" . mysql_real_escape_string($reason) . "',
'" . mysql_real_escape_string($remark) . "')";
if (!mysql_query($sql,$conn))
{
die('Error: ' . mysql_error());
}
echo " Your info has been stored "
?>
include('connect.php');
$datum = date("d/m/y - H:i");
$flight = $_POST["flight"];
$action = $_POST["action"];
$delay = $_POST["delay"];
$reason = $_POST["reason"];
$remark = $_POST["remark"];
/*echo "$record , $datum , $author, $title , $info , $additional , $priority, $ip";*/
$sql = "INSERT INTO irregularity( datum, flight, action, delay, reason, remark) VALUES
(
'" . mysql_real_escape_string($datum) . "',
'" . mysql_real_escape_string($flight) . "',
'" . mysql_real_escape_string($action) . "',
'" . mysql_real_escape_string($delay) . "',
'" . mysql_real_escape_string($reason) . "',
'" . mysql_real_escape_string($remark) . "')";
if (!mysql_query($sql,$conn))
{
die('Error: ' . mysql_error());
}
echo " Your info has been stored "
?>
die van de "next" is identiek maar dan terug met het form er in.
alvast bedankt!
Gewijzigd op 23/03/2011 08:22:43 door Yannick Bogaert
- $_POST waardes niet kopiëren tot dat je zeker weet dat ze veilig zijn.
- Zie mysql's date and time functions
- Gebruik geen 'die', bouw nette foutafhandeling in.
- Toon nooit de php / sql fout aan de gebruiker.