form submit

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yannick Bogaert

Yannick Bogaert

23/03/2011 07:53:58
Quote Anchor link
Hallo allemaal,

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if($_POST["submit"])
{
require("oi_new_insert.php");
}


else
{ require("oi_next_insert.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!
 
PHP hulp

PHP hulp

28/12/2024 06:51:28
 
Wouter J

Wouter J

23/03/2011 08:02:02
Quote Anchor link
if($_POST['submit']) doet niks. Je zoekt waarschijnlijk naar isset of empty.

En op welke regel staat de error? Kan je misschien wat code daarvoor en daarachter op het forum zetten?
 
Yannick Bogaert

Yannick Bogaert

23/03/2011 08:20:29
Quote Anchor link
@Wouter:

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if($_POST["Button1"])
{
require("oi_new_insert.php");
}


else
{ require("oi_next_insert.php");
}

?>


en de code van de oi_new_insert.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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 "
?>


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
 

23/03/2011 09:19:15
Quote Anchor link
- Controleren of een formulier gepost is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST')
- $_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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.