Visa ett inlägg
Oläst 2011-10-28, 10:02 #1
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
JeZZifelt JeZZifelt är inte uppkopplad
Flitig postare
 
Reg.datum: Feb 2006
Inlägg: 326
Standard Form validation problem

Har ett problem som jag verkligen måste lösa snabbt, och behöver er hjälp eftersom jag inte är så haj på detta.
Jag har hittat ett script för form validation som ser ut som följande lite förenklat:

<?php include("validering.php"); ?>
<form name="cart" id="cart" method='post' action=''>
Namn:
<input name="namn" type="text" id="namn" size="30" value="<?php echo $valid_namn; ?>" />
<?php echo $error_namn; ?>
E-post:
<input name="email" type="text" id="email" size="30" value="<?php echo $valid_email; ?>">
<?php echo $error_email; ?>
Telefon:
<input name="telefon" type="text" id="telefon" size="30" value="<?php echo $valid_telefon; ?>">
<?php echo $error_telefon; ?>
<input type="image" name="submit" id="order" src="jcart/images/submit.gif" />

När jag har det på detta vis fungerar form validation som den ska, men jag skickas inte vidare till min gateway, som jag vanligtvis gör när jag har action='jcart/gateway.php' (låter ju ganska logiskt!). Men när jag istället har min action='jcart/gateway.php' inlagd så fungerar inte form validation eftersom den direkt skickar vidare till gateway utan att kontrollera fälten.
Jag behöver båda! Snälla hjälp mig, jag blir snart tokig på detta så som jag försökt. :P
Jag har prövat att lägga in kontrollen i gatewayen, men det blir bara fel och fungerar inte. Jag hamnar på en blank sida med samma adress som gatewayen, men skickas inte vidare till tacksidan eller får mejlet ivägskickat. Så jag undviker helst att lägga in någon ytterligare kod i gatewayen! Allra bäst vore om det gick att lösa direkt på formulärsidan.

Uppskattar verkligen er hjälp här, och tänk på att jag inte är duktig på detta, så förklara tydligt utan avancerade termer tack!

Här kommer hela koden till validering.php:

<?php
if($_POST)
{
$namn = $_POST['namn'];
$email = $_POST['email'];
$telefon = $_POST['telefon'];

// Namn
if (eregi('^[A-Za-z0-9 ]{3,20}$',$namn))
{
$valid_namn=$namn;
}
else
{
$error_namn='Fyll i ditt namn korrekt.';
}

// Email
if (eregi('^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.([a-zA-Z]{2,4})$', $email))
{
$valid_email=$email;
}
else
{
$error_email='E-postadressen m&aring;ste vara korrekt ifylld.';
}

// Telefon min 6 char max 20 char
if (eregi('^[A-Za-z0-9!@#$%^&*()_]{6,20}$',$telefon))
{
$valid_telefon=$telefon;
}
else
{
$error_telefon='Ange ett giltigt telefonnummer.';
}


if((strlen($valid_namn)>0)&&(strlen($valid_email)> 0)
&&(strlen($valid_telefon)>0) && $valid_leverans>0 )
{
header("Location: jcart/gateway.php");
}
else{ }

}
?>

Senast redigerad av JeZZifelt den 2011-10-28 klockan 10:04 Anledning: Glömde skicka med koden till validering.php.
JeZZifelt är inte uppkopplad   Svara med citatSvara med citat