Avatar billede ny89 Nybegynder
25. oktober 2011 - 18:02 Der er 9 kommentarer og
1 løsning

Mysql og php

Hej har brug for hjælp, da den hele tiden driller.


Jeg har tre script.
Har oprettet en db i PhpMyAdmin og den fungerer fint.


insert.html

<html>
<form action="script.php" method="GET">
Author: <input type="text"  name="Author" size="25"/> </p>
Title: <input type="text"  name="Title" size="25"/> </p>
Type: <input type="text"  name="Type" size="25"/> </p>
Year: <input type="text"  name="Year" size="25"/> </p>
<input type="submit" value="Send din ordre"/>
</form>
</html>



script.php

<?php
$DBhost = "localhost";
$DBuser = "";
$DBpass = "";
$DBname = "data";
$table = "publications";
mysql_connect($DBhost, $DBuser, $DBpass) or die ("Ingen forbindelse");

@mysql_select_db("data") or die ("Fandt ikke DB");

$sqlquery = "INSERT INTO $table VALUES ('Author', 'Title', 'Type', 'Year')";

$results = mysql_query("sqlquery");

mysql_close();
?>

Den første del af fil script.php passer fint. Dette vil ikke fungere:
$sqlquery = "INSERT INTO $table VALUES ('Author', 'Title', 'Type', 'Year')";
$results = mysql_query("sqlquery");
mysql_close();


Håber I kan hjælpe. :)
Avatar billede ny89 Nybegynder
25. oktober 2011 - 18:04 #1
Hov glemte at skrive, hvad jeg vil med mit script. Vil have den til at vise nogle felter i html, hvor man skal udfylde nogle formularer. Derefter skal disse data overføres i db i PhpMyAdmin.
Avatar billede arne_v Ekspert
25. oktober 2011 - 18:22 #2
$Author = $_POST['Author'];
$Title = $_POST['Title'];
$Type = $_POST['Type'];
$Year = $_POST['Year'];
$sqlquery = "INSERT INTO $table VALUES ('$Author', '$Title',
'$Type', '$Year')";
Avatar billede arne_v Ekspert
25. oktober 2011 - 18:22 #3
Og tilfoej noget beskyttelse mod SQL injection inden det tages i brug !!
Avatar billede ny89 Nybegynder
25. oktober 2011 - 18:37 #4
Mange tak, men de informationer jeg skriver i formularerne, bliver sent dog uden indhold. Det går tabt.

Stå det her korrekt:

insert.html
html>
<form action="script.php" method="GET">
Author: <input type="text"  name="$Author" size="25"/> </p>
Title: <input type="text"  name="$Title" size="25"/> </p>
Type: <input type="text"  name="$Type" size="25"/> </p>
Year: <input type="text"  name="$Year" size="25"/> </p>
<input type="submit" value="Send din ordre"/>
</form>
</html>
Avatar billede arne_v Ekspert
25. oktober 2011 - 18:47 #5
nej - der skal ikke vaere dollar tegn der
Avatar billede iver_mo Nybegynder
25. oktober 2011 - 20:05 #6
Du skal bruge method="POST" til arnes hjælp for at det virker.

Du skal fjerne ikke have "$" foran alle names i din form.
Avatar billede arne_v Ekspert
25. oktober 2011 - 20:11 #7
Ellers skal $_POST aendres til $_GET, men det er normalt at bruge POST.
Avatar billede ny89 Nybegynder
26. oktober 2011 - 10:00 #8
Okay, jeg prøver :)
Avatar billede ny89 Nybegynder
26. oktober 2011 - 10:25 #9
Det virker :) Tak for hjælpen, send et svar.
Avatar billede arne_v Ekspert
26. oktober 2011 - 14:20 #10
svar
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
Computerworld tilbyder specialiserede kurser i database-management

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