variable problem i form - skal variable defineres ens to steder
Jeg er total ny i php og dette er mit aller første forsøg med php så håber i vil bære over med mig.Jeg forsøger at lave et lille form script, som skal valideres/checkes for fejl før det sendes.
Efter et par dage med at google og prøve mig frem er jeg foløbigt nået frem til følgende som ser ud til at virke
Indtaster man mindre end 5 bogstaver skal man komme retur med en fejlmedelelse, og det man tastede skal stå der enu.
taster man mellemrum før eller efter skal disse fjernes
(selve processeringe af formen er jeg ikke nået til enu):
<!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" dir="ltr" lang="da" xml:lang="da">
<!--
===========
TEST
===========
-->
<head>
<title>test side</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" /><meta http-equiv="content-language" content="da" />
<style type="text/css">
.inputerror {Background: #ffbbbb;}
</style>
</head>
<body>
<div id="sitewrap">
<!-- TILFØJ ANRANGØR FORM -->
<?php
// Setup Form
function showForm($errorName=false,$errormassage=false){
// Set form variables
$title = isset($_POST['title']) ? trim($_POST['title']) : '';
// Display form
echo (' <form action="" method="post">
<table border="0" cellpadding="0" cellspacing="0" width="300px">');
// Title
echo (' <tr>
<td>Title:</td>
<td><input type="text" name="title" value="'.$title.'" class="'.$errorName.'"></td>
</tr>');
// Error message
if ($errormassage)
echo (' <tr>
<td colspan="2">Der var en fejl i de markerede felter</td>
</tr>');
echo (' <tr>
<td><input type="submit" name="SubmitForm" value="Send"></td>
</tr>
</table>
<form>');
}
// Process form
if (!isset($_POST['SubmitForm'])) {
showForm();}
else {
// Set error variables $title = isset($_POST['title']) ? trim($_POST['title']) : '';
$errorName = false;
$errormassage = false;
$title = isset($_POST['title']) ? trim($_POST['title']) : '';
// Check form for input errors
if (strlen($title)<5) $errorName = 'inputerror';
// If there is errors in the form display it again
if ($errorName) {
$errormassage = true;
showForm($errorName,$errormassage);
}
else {
// Process form
echo '-'.$title.'-';
echo '<br>Submission was success!';
}
}
?>
</div>
</body>
</html>
mit problem er linerne $title = isset($_POST['title']) ? trim($_POST['title']) : '';
som ser ud til at skulle defineres 2 steder for det virke som jeg gerne vil have det kan det passe de skal være begge steder ??
Hvis jeg ikke har den øverste forsvinder det intastede hvis man går tilbage til formen pga fejl i det indtastede
Hvis jeg ikke har den nederste vil scriptet ikke forsætte til process