Insert Into Tbl_name

Her kan du få hjælp og stille spørgsmål til PHP!
Besvar
Nicklasdk
Begynder
Indlæg:14
Tilmeldt:18. apr 2012, 13:40
Insert Into Tbl_name

Indlæg af Nicklasdk » 1. maj 2012, 10:57

Hej! Jeg håber i kan hjælpe mig med en ting! Jeg er ved at rende ud for tid med mit eksamensprojekt, og jeg har et problem med at indsætte i min db via php. Den skriver at jeg ikke trykkede på submit hver gang. Smider lige min kode med, måske i kan finde fejlen!

<!-- KODE FOR FORMULAR -->

Kode: Vælg alt

<div id="indhold">
    	<h2>Opret dig som bruger!</h2>
        
        <form id="opret_bruger" action="connect.php" method="POST">
        Fornavn: <input type="text" maxlength="20"> </br>
        Efternavn: <input type="text" maxlength="20"> </br>
        Vej: <input type="text" maxlength="50"> </br>
        HusNr: <input type="text" maxlength="20"> </br>
        PostNr: <input type="text" maxlength="20"> </br>
        Telefon: <input type="text" maxlength="20"> </br>
        Email: <input type="text" maxlength="100"> </br>
        </br>
        <input type="submit" value="submit"/>
        </form>
        
        <p> Ring nnu ind til os på telefon nr 01010101 og få dit bruger ID!</p>
        
        <h2>Angiv data til aftale! </h2>
        
        <form id="opret_aftale" action="#" method="POST">
        Bruger ID :<input type="text" maxlength="11"> </br> 
        Bilmærke: <input type="text" maxlength="50"> </br>
        Model: <input type="text" maxlength="50"> </br>
        type: <input type="text" maxlength="20"> </br>
        Reg Nr: <input type="text" maxlength="20"> </br>
        </br>
        <input type="submit" value="opret aftale!"/>
        
        </form>
    
    
    </div>
      </div>



<!-- KODE FOR PHP SCRIPT -->

Kode: Vælg alt

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<?php
$server = "localhost";
$brugernavn = "root";
$kode = "birger10";
$db = "Car_service";

mysql_connect($server , $brugernavn , $kode) or die(mysql_error());

echo "Forbundet til mysql server<br/>";

mysql_select_db($db)or die(mysql_error());

echo "Forbundet til databasen";

if (isset($_POST['submit'])) {
	
	$Fornavn = $_POST['Fornavn'];
	$Efternavn = $_POST['Efternavn'];
	$Vej = $_POST['Vej'];
	$HusNr = $_POST['HusNr'];
	$PostNr = $_POST['PostNr'];
	$Telefon = $_POST['Telefon'];
	$Email = $_POST['Email'];
	
	$Tabeldata = "INSERT INTO brugere (Fornavn, Efternavn, Vej, HusNr, PostNr, Telefon, Email)
	VALUES ('Fornavn','Efternavn','Vej','HusNr','PostNr','Telefon','Email')";
	$resultat = mysql_query($tabeldata);
	
	if ($resultat) {
	
	echo "din bruger blev registreret";	
		
	}
	else {
		
	echo "FEJL!"; 
	}
		
	}
	

else {
	
	echo "du trykkede ikke på submit";
	
}
mysql_close();
?>
På forhånd mange tak!

Brugeravatar
ThomasI
Grundlægger
Grundlægger
Indlæg:1528
Tilmeldt:28. dec 2010, 10:49

Re: Insert Into Tbl_name

Indlæg af ThomasI » 1. maj 2012, 12:24

Hej Niklas,

Du manger en "name" attribut på all dine inputs. Uden en name attribut vil php aldrig kunne finde ud af hvor den skal hente dens post data fra

det samme gælder for din submit...Den skal se således ud:

Kode: Vælg alt

<input type="submit" value="submit" name="submit"/>
Så kan php file nemlig se at der bliver sendt noget post data fra et input område der hedder name

Det samme gælder for alle dine andre input områder...

Du forsøger f.eks at lave en variable således:

$Fornavn = $_POST['Fornavn'];

Men du har ikke sat nogen name attribut nogen steder der hedder Fornavn, og derfor vil php aldrig kunne finde ud af hvor den POST data kommer fra...

Nicklasdk
Begynder
Indlæg:14
Tilmeldt:18. apr 2012, 13:40

Re: Insert Into Tbl_name

Indlæg af Nicklasdk » 1. maj 2012, 21:31

Tusind tak Thomas! Med din hjælp og et par modifikationer mere fik jeg det til at virke! Jeg er meget glad for din hjælp! (:

Jeg håber jeg kan være bekendt at spørge en gang til, da jeg højst sandsynligt bare har fået set mig blind på fejlen, men hver gang jeg prøver at bruge dette script, siger den FEJL i Browseren:

Kode: Vælg alt

<?php
$server = "localhost";
$brugernavn = "root";
$kode = "*********";
$db = "Car_service";

mysql_connect($server , $brugernavn , $kode) or die(mysql_error());

echo "Forbundet til mysql server<br/>";

mysql_select_db($db)or die(mysql_error());

echo "Forbundet til databasen";

if (isset($_POST['submit'])) {
	
	$BrugerID = $_POST['BrugerID'];
	$Bilmærke = $_POST['Bilmærke'];
	$Model = $_POST['Model'];
	$Type = $_POST['Type'];
	$RegNr = $_POST['RegNr'];
	
	$Tabeldata = "INSERT INTO aftaler(BrugerID, Bilmærke, Model, Type, RegNr) VALUES ('$BrugerID','$Bilmærke','$Model','$Type','$RegNr')";
	$resultat = mysql_query($Tabeldata);
	
	if ($resultat) {
		echo "Din aftale blev oprettet";
		}
	
	else {
		echo "FEJL!";
		}	
	}
else {
	echo "Du trykkede ikke på submit";
	}
mysql_close();
?>

På forhånd tak - Nicklas
Senest rettet af Nicklasdk 2. maj 2012, 20:09, rettet i alt 1 gang.

Brugeravatar
Daniel
Admin
Admin
Indlæg:625
Tilmeldt:14. jun 2011, 09:27
Geografisk sted:Danmark, Fyn, Nørre Aaby
Kontakt:

Re: Insert Into Tbl_name

Indlæg af Daniel » 1. maj 2012, 21:44

Til en anden gang så sæt lige alt dine kode mellem

Kode: Vælg alt

, det gør det lidt mere overskueligt at læse. :)

Nicklasdk
Begynder
Indlæg:14
Tilmeldt:18. apr 2012, 13:40

Re: Insert Into Tbl_name

Indlæg af Nicklasdk » 1. maj 2012, 22:11

Danielh007 skrev:Til en anden gang så sæt lige alt dine kode mellem

Kode: Vælg alt

, det gør det lidt mere overskueligt at læse. :)
Undskyld.. Det skal jeg huske! (:

Brugeravatar
ThomasI
Grundlægger
Grundlægger
Indlæg:1528
Tilmeldt:28. dec 2010, 10:49

Re: Insert Into Tbl_name

Indlæg af ThomasI » 2. maj 2012, 09:45

Hmmm...hvis den siger FEJL! så er det jo fordi der er fejl i din query. prøv at lave nogle fejl beskeder, til dine linjer, så kan du bedre finde ud af hvor det præcist går galt.

Nicklasdk
Begynder
Indlæg:14
Tilmeldt:18. apr 2012, 13:40

Re: Insert Into Tbl_name

Indlæg af Nicklasdk » 2. maj 2012, 20:02

ThomasI skrev:Hmmm...hvis den siger FEJL! så er det jo fordi der er fejl i din query. prøv at lave nogle fejl beskeder, til dine linjer, så kan du bedre finde ud af hvor det præcist går galt.

Hvordan laver man disse fejl beskeder? (:

Jeg har prøvet at køre PHP scriptet, og der skriver den "du trykkede ikke på submit" som den skal sige.

Taster jeg data ind i min formular og trykker submit, så siger den fejl. Må gå ude fra det er imellem de to der sker i en fejl.

Min formular:

Kode: Vælg alt

<form id="opret_aftale" action="insert_apointment.php" method="POST">
        BrugerID :<input type="text" maxlength="11" name="BrugerID"> </br> 
        Bilmærke: <input type="text" maxlength="50" name="Bilmærke"> </br>
        Model: <input type="text" maxlength="50" name="Model"> </br>
        Type: <input type="text" maxlength="20" name="Type"> </br>
        RegNr: <input type="text" maxlength="20" name="RegNr"> </br>
        </br>
        <input type="submit" value="submit" name="submit"/>
        
        </form>
PHP script

Kode: Vælg alt

<?php
$server = "localhost";
$brugernavn = "root";
$kode = "********";
$db = "Car_service";

mysql_connect($server , $brugernavn , $kode) or die(mysql_error());

echo "Forbundet til mysql server<br/>";

mysql_select_db($db)or die(mysql_error());

echo "Forbundet til databasen";

if (isset($_POST['submit'])) {
	
	$BrugerID = $_POST['BrugerID'];
	$Bilmærke = $_POST['Bilmærke'];
	$Model = $_POST['Model'];
	$Type = $_POST['Type'];
	$RegNr = $_POST['RegNr'];
	
	$Tabeldata = "INSERT INTO brugere (BrugerID, Bilmærke, Model, Type, RegNr)	
	VALUES('$BrugerID','$Bilmærke','$Model','$Type','$RegNr')";
	$resultat = mysql_query($Tabeldata);
	
	if ($resultat) {
	
	echo "din bruger blev registreret";	
		
	}
	else {
		
	echo "FEJL!"; 
	}
		
	}
	

else {
	
	echo "du trykkede ikke på submit";
	
}
mysql_close();
?>


Dreamweaver siger heller ikke at der er nogle fejl.

På forhånd tak (:

Brugeravatar
ThomasI
Grundlægger
Grundlægger
Indlæg:1528
Tilmeldt:28. dec 2010, 10:49

Re: Insert Into Tbl_name

Indlæg af ThomasI » 2. maj 2012, 20:06

Har du kontroleret at navne på dine input fields og post variabler stemmer 100% overens - jeg tænker her på små og store bogstaver...

Det sammen gælder for din DB... har du her kontroleret at din tabel og rækker heri hedder 100% det samme i scriptet som i din db?

Bliver der sat noget ind i din DB når du instaster og trykker submit? - eller er den stadig bare tom efterfølgende..

Nicklasdk
Begynder
Indlæg:14
Tilmeldt:18. apr 2012, 13:40

Re: Insert Into Tbl_name

Indlæg af Nicklasdk » 2. maj 2012, 20:16

Alt er ens, og der bliver intet indsat i min database..

Mvh. Nicklas (:

Brugeravatar
ThomasI
Grundlægger
Grundlægger
Indlæg:1528
Tilmeldt:28. dec 2010, 10:49

Re: Insert Into Tbl_name

Indlæg af ThomasI » 2. maj 2012, 20:39

og i din DB "Car_service" er der en tabel der hedder "brugere"

kan umiddelbart ikke lige se hvad der skulle være galt

Nicklasdk
Begynder
Indlæg:14
Tilmeldt:18. apr 2012, 13:40

Re: Insert Into Tbl_name

Indlæg af Nicklasdk » 2. maj 2012, 20:55

efter jeg postede koden så jeg en fejl. Det var en forkert tabel, men den skriver desværre stadig fejl..

Tusind tak for hjælpen! (:

Besvar