01. oktober 2003 - 12:14
Der er
26 kommentarer og 1 løsning
Indsæt data i Mysql fra form
Halløj Her er et totalt newbie PHP problem: Hvordan får jeg data ind i min mysql database med følhende kode: <?php $navn = $_REQUEST["navn"]; $adresse = $_REQUEST["adresse"]; $titel = $_REQUEST["titel"]; $email = $_REQUEST["email"]; $connection = mysql_connect("localhost", "mitadm", "mitpass"); mysql_select_db("databasen", $connection); mysql_query("insert into tbltest (navn, adresse, titel, email) values ('$navn', '$adresse', '$titel', '$email' )"); ?> Lars
Annonceindlæg fra gavdi
01. oktober 2003 - 12:16
#1
hvad er prtoblemet ?
01. oktober 2003 - 12:37
#2
<form method="post"> <input type="text" name="navn"> <input type="text" name="adresse"> <input type="text" name="titel"> <input type="text" name="email"> <input type="submit" name="submit" value="submit"> </form <?php if ($_POST['submit']) { $navn = $_POST["navn"]; $adresse = $_POST["adresse"]; $titel = $_POST["titel"]; $email = $_POST["email"]; $connection = mysql_connect("localhost", "mitadm", "mitpass"); mysql_select_db("databasen", $connection); mysql_query("insert into tbltest (navn, adresse, titel, email) values ('$navn', '$adresse', '$titel', '$email' )"); } ?>
01. oktober 2003 - 12:39
#3
hvis ikke det var hvad du mente, bliver du nok nød til at specificere dit spørgsmål lidt mere
01. oktober 2003 - 12:40
#4
desuden mangler jeg lige en > i min afsluttende HTML </form> istedet for </form
01. oktober 2003 - 13:00
#5
Problmet er at der ikke kommer noget i databasen
01. oktober 2003 - 13:09
#6
hmm prøv med mysql_query("INSERT INTO tabel (navn, adresse, titel, email) VALUES (, '$_POST[navn]', '$_POST[adresse]', '$_POST[titel]', '$_POST[email]')") or die(mysql_error());
01. oktober 2003 - 13:46
#7
Prøv at kigge lidt på
www.mbn.dk - der ligger en god guide
01. oktober 2003 - 13:46
#8
Virker stadig ikke, der kommer heller ingen fejl. jeg har lavet en testtabel og her er koden jeg bruger: <?php if ($_POST['submit']) { $fnavn = $_POST["f_navn"]; $enavn = $_POST["e_navn"]; $connection = mysql_connect("localhost", "mitlogin", "mitpass"); mysql_select_db("mentor", $connection); mysql_query("INSERT INTO mentortest(fnavn, enavn) VALUES (, '$_POST[f_navn]', '$_POST[e_navn]')") or die(mysql_error()); } ?> Felterne i formularen hedder enavn og fnavn Lars
01. oktober 2003 - 13:55
#9
vis lige et dump af din database struktur
01. oktober 2003 - 14:27
#10
id fornavn efternavn 20030919084803 Lars Nedergaard 20030919084850 Gurli Tullefjæs 20030919084919 Søren Slipstream Fandt lige en fejl 40, tabelnavnet som er rette uden det hjalp
01. oktober 2003 - 14:30
#11
du skal benytte dine tabel navne: mysql_query("INSERT INTO mentortest(fnavn, enavn) VALUES (, '$_POST[f_navn]', '$_POST[e_navn]')") or die(mysql_error()); } skal være: mysql_query("INSERT INTO mentortest(fornavn, efternavn) VALUES ('$_POST[f_navn]', '$_POST[e_navn]')") or die(mysql_error()); }
02. oktober 2003 - 08:52
#12
Virker stadig ikke kode: <?php if ($_POST['submit']) { $f_navn = $_POST["fnavn"]; $e_navn = $_POST["enavn"]; $connection = mysql_connect("localhost", "mentoradm", "Rodondindron"); mysql_select_db("mentor", $connection); mysql_query("INSERT INTO mentortest(fornavn, efternavn) VALUES ('$_POST[f_navn]', '$_POST[e_navn]')") or die(mysql_error()); } ?> Felterne i formularen hedder fnavn og enavn Lars
02. oktober 2003 - 09:12
#13
disse linier er overflødige: $f_navn = $_POST["fnavn"]; $e_navn = $_POST["enavn"]; Ret mysql_query("INSERT INTO mentortest(fornavn, efternavn) VALUES ('$_POST[f_navn]', '$_POST[e_navn]')") or die(mysql_error()); til mysql_query("INSERT INTO mentortest(fornavn, efternavn) VALUES ('$_POST[fnavn]', '$_POST[enavn]')") or die(mysql_error()); Her har du nemlige variablerne direkte fra din form via $_POST ellers lad mig se din form - eller endnu bedre hele dit script btw: det er ikke så smart at vise dit brugernavn + pass her på exp - skriv til admin.
02. oktober 2003 - 10:23
#14
Ups brugernsvn !! Det var i mprges inden kaffen
02. oktober 2003 - 10:26
#15
Skal man ikke definere variabler inden man bruger dem i PHP ?
02. oktober 2003 - 10:36
#16
Nix dutter ikke PHP koden: <?php if ($_POST['submit']) { $connection = mysql_connect("localhost", "admin", "er skiftet"); mysql_select_db("mentor", $connection); mysql_query("INSERT INTO mentortest(fornavn, efternavn) VALUES ('$_POST[fnavn]', '$_POST[enavn]')") or die(mysql_error()); } ?> HTML form: <form method="POST" action="inserttest.php"> Fornavn <input type="text" name="fnavn" size="31"> Efternavn <input type="text" name="enavn" size="60"> <p><input type="submit" value="Send" name="B1"><input type="reset" value="Nulstil" name="B2"></p> </form> Lars
02. oktober 2003 - 11:42
#17
Har du denne kode i samme fil? - så skal filen hedde "inserttest.php", men prøv at gemme nedenstående i én fil - kald den: test.php (eller hvad som helst bare den ender på .php) <?php echo $_SERVER['PHP_SELF']; ?> = udskriver filens eget navn under action <?php // denne her vil kun virke hvis du har et felt med navnet "submit" // derfor har jeg rettet din submitknap if ($_POST['submit']) { $connection = mysql_connect("localhost", "admin", "er skiftet"); mysql_select_db("mentor", $connection); mysql_query("INSERT INTO mentortest (fornavn, efternavn) VALUES ('$_POST[fnavn]', '$_POST[enavn]')") or die(mysql_error()); } ?> HTML form: <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>"> Fornavn <input type="text" name="fnavn" size="31"> Efternavn <input type="text" name="enavn" size="60"> <p><input type="submit" value="Send" name="submit"><input type="reset" value="Nulstil" name="B2"></p> </form>
02. oktober 2003 - 12:39
#18
Det er 2 forskellige filer, en form som sender til insert siden
02. oktober 2003 - 13:08
#19
prøv det i en fil - nøjagtig som vist ovenfor - har du været inde på mbn.dk?
02. oktober 2003 - 15:42
#20
DET VIRKER ja jeg har checket mbn.dk og jeg kunne sagtens sætte data i db'en når jeg skrev værdien i Values, det er når der er variabler der er problemer
02. oktober 2003 - 15:46
#21
$_POST['submit'] afleverer den ikk en value og ikke en boolean ?
03. oktober 2003 - 09:29
#22
roo104 - jo hvorfor?
03. oktober 2003 - 09:31
#23
nederbasse>> tak for points - et lille tip dine values bør holds for sig dvs: VALUES ('$_POST[fnavn]', '$_POST[enavn]') burde være VALUES ('".$_POST['fnavn']."', '".$_POST['enavn']."') Det andet virker også, men nu er der ingen tvivl om hvordan hvad skal fortolkes af PHP
03. oktober 2003 - 16:24
#24
for at den skal gå ind i if særningen skal den være sand. Så skal du vel sætte det du henter lig et eller andet, for at den bliver sand. if ($_POST['submit'] == "Send") {
04. oktober 2003 - 23:27
#25
nej ikke nødvendigvid, men det er da klart at foretrække, samt at bruge isset()
12. december 2005 - 19:35
#26
Ja jeg ville også benytte isset() :P
12. december 2005 - 20:00
#27
det ville jeg også ;o) - der er nok en der kigger på gamle spørgsmål :-)
Vi tilbyder markedets bedste kurser inden for webudvikling