if(isset($_POST['spara'])) {
$datum = date("Y-m-d H:i:s");
require "connect.php";
mysql_query("INSERT INTO visitors (fornamn, efternamn, mobilnummer, epostadress, datum) VALUES ('$_POST[fornamn]','$_POST[efternamn]','$_POST[mobilnummer]','$_POST[epostadress]','$datum')") or die(mysql_error());
echo $_POST[fornamn] . ", du är registrerad.";
}
Hur ska jag enkelt göra en validering som kollar så att alla fälten är ifyllda, och ifall det saknas något så skall sql-frågan ignoreras?
Jag skulle också vilja ha lite hjälp med sql-injections. Hur ska jag i koden skydda mig enklast?
Tacksam för tips. :)
nått sånt här kanske
if(isset($_POST['spara'])) {
$datum = date("Y-m-d H:i:s");
if (empty($_POST['fornamn']) || empty($_POST['efternamn']) ||
empty($_POST['mobilnummer']) ||
empty($_POST['epostadress']) {
die ("Du har inte fyllt i alla fält!!!");
}
require "connect.php";
mysql_query("INSERT INTO visitors
(fornamn, efternamn, mobilnummer, epostadress, datum) VALUES
('$_POST[fornamn]','$_POST[efternamn]','$_POST[mobilnummer]',
'$_POST[epostadress]','$datum')")
or die(mysql_error());
echo $_POST[fornamn] . ", du är registrerad.";
}
if(isset($_POST['spara'])) {
$datum = date("Y-m-d H:i:s");
if (empty($_POST['fornamn']) || empty($_POST['efternamn']) ||
empty($_POST['mobilnummer']) ||
empty($_POST['epostadress'])) {
die ("Du har inte fyllt i alla fält!!!");
}
require "connect.php";
mysql_query("INSERT INTO visitors
(fornamn, efternamn, mobilnummer, epostadress, datum) VALUES
('$_POST[fornamn]','$_POST[efternamn]','$_POST[mobilnummer]',
'$_POST[epostadress]','$datum')")
or die(mysql_error());
echo $_POST[fornamn] . ", du är registrerad.";
}
För det första vet jag inte ens ifall jag börjat rätt, men jag förstår inte hur jag ska skriva insättningen i tabellerna. Jag kan ju inte bara sätta in $fornamn i stället för $_POST[fornamn]?
Där kollar de först av om magic quotes är påslaget och tar bort evenutella slashar som funktionen har lagt dit (sker automatiskt om den är på). Och spara det nya värdet i en variabel. Exemeplvis: $fornamn
Om magic quotes inte är påslaget så sparar de den rena datan i samma variabal.
Därefter bygger de upp en parametiserad fråga med %s.
Därefter körs variablerna igenom escape-funktionen och frågan exekveras mha:
mysql_query($sql-frågan, $databas-connectionen)