Avatar billede matz Nybegynder
02. oktober 2006 - 11:36 Der er 13 kommentarer og
1 løsning

formmail gemmer ikke i mysql

Når jeg indtaster oplysninger via min formmail, skriver den at det er gemt i mysql. Men når jeg så tjekker i mysql er der intet gemt. Hvad kan være galt?

<?php
$username="user";
$password="pass";
$database="db";
$host="host";

$fornavn=$_POST['fornavn'];
$efternavn=$_POST['efternavn'];
$email=$_POST['email'];
$subject=$_POST['subject'];
$besked=$_POST['besked'];
$formiddag=$_POST['formiddag'];
$eftermiddag=$_POST['eftermiddag'];

mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "kan ikke komme i kontakt med databasen");

$query = "INSERT INTO kunder VALUES ('$fornavn','$efternavn','$email','$subject','$besked','$formiddag','$eftermiddag')";
echo $query;
mysql_query($query);
mysql_close();
echo "Din mail er blevet gemt<br />";
?>
Avatar billede coderdk Praktikant
02. oktober 2006 - 12:36 #1
Prøv at angive de felter du vil indsætte, i.e.:

$query = "INSERT INTO kunder (fornavn, efternavn, email, subject, besked, formiddag, eftermiddag) VALUES ('$fornavn','$efternavn','$email','$subject','$besked','$formiddag','$eftermiddag')";
Avatar billede kinderaeg Nybegynder
02. oktober 2006 - 12:39 #2
Hvordan ser den tabel ud, du vil indsætte i? Er der en id-kolonne? Prøv evt at skrive din insert-sql ud, og se om den kan eksekveres i databasen.
Avatar billede matz Nybegynder
02. oktober 2006 - 13:38 #3
Koden hjælper ikke...
Avatar billede coderdk Praktikant
02. oktober 2006 - 13:42 #4
Ændr lige

mysql_query($query);

til

mysql_query($query) or die( mysql_error() );
Avatar billede matz Nybegynder
02. oktober 2006 - 13:47 #5
Den melder stadig fejl med den kode...
Avatar billede coderdk Praktikant
02. oktober 2006 - 13:54 #6
Melder den pludselig fejl? Måske en god idé at oplyse os om hvad den brokker sig over, så :-)
Avatar billede matz Nybegynder
02. oktober 2006 - 13:55 #7
Fejlen:

Array ( [name] => asdasd [email] => sadasd [subject] => Support [besked] => asdasd [submit] => Send mail ) INSERT INTO kunder VALUES ('','','sadasd','Support','asdasd')Column count doesn't match value count at row 1
Avatar billede matz Nybegynder
02. oktober 2006 - 13:55 #8
Det skal lige siges at jeg har slettet 2 felter i koden som jeg alligevel ik skal have med og det er dem her:

$formiddag=$_POST['formiddag'];
$eftermiddag=$_POST['eftermiddag'];
Avatar billede matz Nybegynder
02. oktober 2006 - 13:56 #9
Og som du kan se ved fejlen så tager den ikke "fornavn" og "efternavn" med.
Avatar billede coderdk Praktikant
02. oktober 2006 - 13:59 #10
Column count doesn't match value count

$query = "INSERT INTO kunder (fornavn, efternavn, email, subject, besked) VALUES ('$fornavn','$efternavn','$email','$subject','$besked')";
Avatar billede matz Nybegynder
02. oktober 2006 - 14:01 #11
Yes nu gemmer den i databasen, men den tager stadig ik fornavn og efternavn med:

Array ( [name] => rrgegre [email] => rgerge [subject] => Support [besked] => rgerge [submit] => Send mail ) INSERT INTO kunder (fornavn, efternavn, email, subject, besked) VALUES ('','','rgerge','Support','rgerge')
Avatar billede coderdk Praktikant
02. oktober 2006 - 14:07 #12
Array ( [name] => rrgegre [email] => rgerge [subject] => Support [besked] => rgerge [submit] => Send mail )

Er det en var_dump/print_r af $_POST? For der har du ikke fornavn eller efternavn med - Du har derimod "name" med? Du har heller ikke vist os din form ;P
Avatar billede matz Nybegynder
02. oktober 2006 - 14:09 #13
I know...det var name der var fejlen og derfor tog den det ikke med...men det virker optimalt nu...Læg et svar og tak ;)
Avatar billede coderdk Praktikant
02. oktober 2006 - 14:31 #14
hhehe cool :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester