Ich versuche, Formularfelder zu validieren und dann die Formulardaten in eine Datenbank einzufügen. Mein Formular wird nach dem Klicken auf die Senden-Schaltfläche zweimal gesendet, nachdem alle Feldwerte korrekt sind. Tatsächlich werden Formularfelder validiert und die Aktion ändert sich durch einmaliges Klicken auf Senden. Wenn die Aktion aktiviert ist, wird das Formular durch Klicken auf Senden gesendet.Wie man Formularfelder validiert und dann in die Datenbank einfügt, indem ich einmal auf abschicken klicke
Kann mir jemand sagen, wie es eingereicht werden kann, indem Sie nur einmal auf Senden Schaltfläche klicken.
Hier ist mein HTML-Code mit Skript Validierung php auf derselben Datei
<html>
<head>
<title></title>
<style> .error {color:#ff0000;} </style>
</head>
<body>
<?php
$companyNameErr = $addressErr = $emailErr = $contactErr = "";
$companyName = $address = $email = $contact = $description = "";
function test_data($data)
{
$data=trim($data);
$data=stripslashes($data);
$data=htmlspecialchars($data);
return $data;
}
$errors = array();
$valid=0;
if ($_SERVER["REQUEST_METHOD"] =="POST")
{
$companyName=$_POST["companyName"];
if(empty($companyName))
{
$companyNameErr = "Please Enter Company Name";
$errors[]= $companyNameErr ;
}
else
{
if(!preg_match("/^[a-zA-Z ]*$/",$companyName))
{
$companyNameErr = "Invalid Company Name";
$errors[]= $companyNameErr ;
}
else
{
$companyName=test_data($companyName);
$valid++;
}
}
$address=$_POST["address"];
if(empty($address))
{
$addressErr = "Please Enter Address";
$errors[]= $addressErr ;
}
else
{
$address=test_data($address);
$valid++;
}
$email=$_POST["email"];
if(empty($email))
{
$emailErr = "Please Enter Email";
$errors[]= $emailErr ;
}
else
{
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$emailErr = "Invalid Email";
$errors[]= $emailErr ;
}
else
{
$email=test_data($email);
$valid++;
}
}
$contact=$_POST["contact"];
if(empty($contact))
{
$contactErr = "Please Enter Contact Number";
$errors[]= $contactErr ;
}
else
{
if(!preg_match("/^[0-9]*$/",$contact))
{
$contactErr = "Invalid Contact";
$errors[]= $contactErr ;
}
else
{
$contact=test_data($contact);
$valid++;
}
}
}
if($valid==4)
{
}
?>
<form name="myform" method="post" action="<?php if($valid < 4){ echo $_SERVER["PHP_SELF"]; }else{ echo "validate1.php"; }?>" >
<table>
<tr>
<td>Company Name</td>
<td><input type="text" name="companyName" value ="<?php if(isset($_POST['companyName']) && empty($companyNameErr)){ echo $_POST['companyName'];} else {echo '';}?>" required ><span class="error"><sup>*</sup><?php echo $companyNameErr; ?></span></td>
</tr>
<tr>
<td>Address</td>
<td><input type="text" name="address" value ="<?php if(isset($_POST['address']) && empty($addressErr)){ echo $_POST['address'];} else {echo '';}?>" required><span class="error"><sup>*</sup><?php echo $addressErr; ?></span></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" value ="<?php if(isset($_POST['email']) && empty($emailErr)){ echo $_POST['email'];} else {echo '';}?>" required><span class="error"><sup>*</sup><?php echo $emailErr; ?></span></td>
</tr>
<tr>
<td>Contact</td>
<td>+91-<input type="text" name="contact" value ="<?php if(isset($_POST['contact']) && empty($contactErr)){ echo $_POST['contact'];} else {echo '';}?>" required maxlength="10" minlength="10"><span class="error"><sup>*</sup><?php echo $contactErr; ?></span></td>
</tr>
<tr>
<td>Description</td>
<td><textarea name="description" cols="60" rows="3"></textarea></td>
</tr>
</table>
<input type="submit" name="submit" value="next>>">
</form>
</body>
Code php Angabe Verbindung mit und dann Werte in die Datenbank eingefügt in eine andere Datei ist
<html>
<head>
<title></title>
</head>
<body>
<?php
$servername="localhost";
$username="root";
$password="";
$conn = new mysqli($servername, $username, $password, 'mydatabase');
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$conn->query("CREATE DATABASE IF NOT EXISTS `MyDataBase`");
$conn->query("CREATE TABLE IF NOT EXISTS MyDataBase.company_details(`comp_id` INT AUTO_INCREMENT PRIMARY KEY,`company_name` VARCHAR(50) NOT NULL,`address` VARCHAR(70) NOT NULL,`email` VARCHAR(30) NOT NULL,`contact` INT(13) NOT NULL,`description` VARCHAR(150))");
$conn->query("INSERT INTO company_details (company_name, address, email, contact, description) VALUES ('".$_POST['companyName']."', '".$_POST['address']."', '".$_POST['email']."', '".$_POST['contact']."', '".$_POST['description']."')");
$conn->close();
?>
</body>
hat mir nicht geholfen. Das Problem ist anders –