Avatar billede stricker Nybegynder
14. oktober 2002 - 14:41 Der er 32 kommentarer

opdatere Mysql database via php form

Hej alle!

jeg prøver at lave en php side, som fylder data'er i en Mysql-database. Min database hedder dacapo med en tabel(news).Tabelen har følgende fields : news_id, heading, body, date. Min
php side ser således ud:
<html>
<head>
<title>nyheds update</title>
</head>
<body>
<P>Nyheder :
<br>
<? php
/* denne del indsætter nyheder i news table*/
if(isset($submit)):
$db = mysql_connect("laptop", "strick","schth23");
mysql_select_db("dacapo", $db;
$date = date=("Y-m-d");
$sql = "INSERT into news
VALUES(NULL,'$heading','$body','$date')";
mysql_query($sql);
print ("<h3> Nyhederne er blevet tastet</h3>\n");
endif;
?>
<p><h3>Indtast nyhederne i databasen</h3>
<form action="nyheder.php" method=POST>
Overskrift:<br><input type="text" name="heading"><p>
Nyheder:<BR><textarea cols=35 rows=15 name="body" wrap="virtual">
</textarea>
<BR>
<input type="submit" name="submit" value="send nyheder">

<input type="reset">
</form>
</body>

</html>

Jeg får følgende fejl:

Parse error: parse error, unexpected T_IF in c:\Apache2\htdocs\template\nyheder.php on line 10

Hjælp?
Avatar billede whatever Nybegynder
14. oktober 2002 - 14:47 #1
Prøv at ændre if(isset($submit)): til if(isset($submit)) {
Avatar billede whatever Nybegynder
14. oktober 2002 - 14:48 #2
Og selvfølgelig skal endif; ændres til }
Avatar billede whatever Nybegynder
14. oktober 2002 - 14:49 #3
Du mangler vist en parentes efter denne
mysql_select_db("dacapo", $db;

Skal istedet være:

mysql_select_db("dacapo", $db);
Avatar billede whatever Nybegynder
14. oktober 2002 - 14:50 #4
Og denne $date = date=("Y-m-d"); skal ændres til $date = date("Y-m-d");
Avatar billede stricker Nybegynder
14. oktober 2002 - 14:56 #5
Jeg får desværre samme fejl. Jeg bruger php 4.2.3 og apache webserver 2.0. Har det nogen indflydelse.
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 14:59 #6
din sql skal nok se sådan ud

$sql = "INSERT into news (heading, body, date. Min)
VALUES('$heading','$body','$date')";
Avatar billede whatever Nybegynder
14. oktober 2002 - 15:03 #7
Prøv dette:

<html>
<head>
<title>nyheds update</title>
</head>
<body>
<P>Nyheder :
<br>
<? php
/* denne del indsætter nyheder i news table*/
if (isset($_POST["submit"])) {
$db = mysql_connect("laptop", "strick","schth23");
mysql_select_db("dacapo", $db);
$date = date=("Y-m-d");
$sql = "INSERT into news (heading, body, date) VALUES('". $_POST["heading"] ."','". $_POST["body"] ."','$date')";
mysql_query($sql);
print ("<h3> Nyhederne er blevet tastet</h3>\n");
}
?>
<p><h3>Indtast nyhederne i databasen</h3>
<form action="nyheder.php" method=POST>
Overskrift:<br><input type="text" name="heading"><p>
Nyheder:<BR><textarea cols=35 rows=15 name="body" wrap="virtual">
</textarea>
<BR>
<input type="submit" name="submit" value="send nyheder">

<input type="reset">
</form>
</body>

</html>
Avatar billede whatever Nybegynder
14. oktober 2002 - 15:04 #8
Ups. prøv dette istedet:

<html>
<head>
<title>nyheds update</title>
</head>
<body>
<P>Nyheder :
<br>
<? php
/* denne del indsætter nyheder i news table*/
if (isset($_POST["submit"])) {
$db = mysql_connect("laptop", "strick","schth23");
mysql_select_db("dacapo", $db);
$date = date ("Y-m-d");
$sql = "INSERT into news (heading, body, date) VALUES('". $_POST["heading"] ."','". $_POST["body"] ."','$date')";
mysql_query($sql);
print ("<h3> Nyhederne er blevet tastet</h3>\n");
}
?>
<p><h3>Indtast nyhederne i databasen</h3>
<form action="nyheder.php" method=POST>
Overskrift:<br><input type="text" name="heading"><p>
Nyheder:<BR><textarea cols=35 rows=15 name="body" wrap="virtual">
</textarea>
<BR>
<input type="submit" name="submit" value="send nyheder">

<input type="reset">
</form>
</body>

</html>
Avatar billede stricker Nybegynder
14. oktober 2002 - 15:07 #9
Den kommer stadig ikke forbi linie 10.
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 15:11 #10
det kan være fordi at du bruger sende knappen, prøv istedet
if (isset($_POST["heading"]) && isset($_POST["body"]) {
Avatar billede stricker Nybegynder
14. oktober 2002 - 15:11 #11
Behøver jeg forresten at lukke forbindelsen til databasen til slut eller gør den det ikke selv?
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 15:12 #12
ups, sådan
if (isset($_POST["heading"]) && isset($_POST["body"])) {
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 15:13 #13
god kodeskik er at lukke den, men mener at den automatisk lukker
Avatar billede stricker Nybegynder
14. oktober 2002 - 15:14 #14
Virker deværre stadig ikke. Skal jeg forresten gøre noget ved min opsætning af php og apache for at benytte Mysql.?
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 15:15 #15
nej det burde du ikke skulle, kan du slet ikke smide noget i din database??
Avatar billede stricker Nybegynder
14. oktober 2002 - 15:17 #16
Jo hvis jeg gør det fra cmd prompt>
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 15:20 #17
men ikke med et simpelt
mysql_query("INSERT INTO tabel (navn, efternavn) values ('Jens', Hansen"); osv
Avatar billede stricker Nybegynder
14. oktober 2002 - 15:21 #18
prøver lige.
Avatar billede stricker Nybegynder
14. oktober 2002 - 15:31 #19
jeg har prøvet på denne måde.

<html>
<head>
<title>nyheds update</title>
</head>
<body>
<P>Nyheder :
<br>
<? php

/* denne del indsætter nyheder i news table*/
//if (isset($_POST["heading"]) && isset($_POST["body"])) {
$db = mysql_connect("localhost", "strick","schth23");
mysql_select_db("dacapo", $db);
$date = date ("Y-m-d");
//$sql = "INSERT into news (heading, body, date) VALUES('". $_POST["heading"] ."','". $_POST["body"] ."','$date')";
//mysql_query($sql);
mysql_query("INSERT INTO news(heading, body) values ('overskrift', bare text");
print ("<h3> Nyhederne er blevet tastet</h3>\n");
//}

?>
<p><h3>Indtast nyhederne i databasen</h3>
<form action="nyheder.php" method=POST>
Overskrift:<br><input type="text" name="heading"><p>
Nyheder:<BR><textarea cols=40 rows=20 name="body" wrap="virtual">
</textarea>
<BR>
<input type="submit" name="submit" value="send nyheder">

<input type="reset">
</form>
</body>

</html>

jeg får følgende fejl:
Parse error: parse error, unexpected T_VARIABLE in c:\Apache2\htdocs\template\nyheder.php on line 12
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 15:35 #20
hmm, det er din mysql_connect??
men du skal ændre din mysql_query
mysql_query("INSERT INTO news(heading, body) values ('overskrift', 'bare text')");
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 15:36 #21
$date skal ikke have mellemrum før parantesen
$date = date ("Y-m-d");
men
$date = date("Y-m-d");
Avatar billede stricker Nybegynder
14. oktober 2002 - 15:41 #22
Jeg får fejlen i denne linie:
mysql_select_db("dacapo", $db);
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 15:42 #23
så prøv
mysql_select_db("dacapo", "$db");
Avatar billede stricker Nybegynder
14. oktober 2002 - 15:46 #24
Stadig samme fejl.
hvordan tjecker jeg om den overhovedet connecter til databasen?
denne linie:
$db = mysql_connect("localhost", "strick","schth23");
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 15:52 #25
prøv dette så
mysql_connect("localhost", "strick","schth23") or die (mysql_error());
mysql_select_db("dacapo", "$db") or die (mysql_error());
mysql_query("INSERT INTO news(heading, body) values ('overskrift', 'bare text')") or die (mysql_error());
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 15:53 #26
ups, denne her

mysql_connect("localhost", "strick","schth23") or die (mysql_error());
mysql_select_db("dacapo") or die (mysql_error());
mysql_query("INSERT INTO news(heading, body) values ('overskrift', 'bare text')") or die (mysql_error());
Avatar billede whatever Nybegynder
14. oktober 2002 - 15:55 #27
ztyxx > Om det er mellemrum mellem date og () er ligegyldigt. Det er faktisk ligegyldigt på alle funktioner i php. Se f.eks. http://dk.php.net/manual/en/function.date.php
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 15:56 #28
oki
Avatar billede stricker Nybegynder
14. oktober 2002 - 16:03 #29
Jeg ved ikke hvad der går galt, men der ikke noget der virker.
denne fejl:
Parse error: parse error, unexpected T_STRING in c:\Apache2\htdocs\template\nyheder.php on line 11
det er denne linie:
mysql_connect("localhost", "strick","schth23") or die (mysql_error());
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 16:06 #30
har du installeret phpMyAdmin??
hvis du har, kan du lave inserts der??
Avatar billede stricker Nybegynder
14. oktober 2002 - 16:12 #31
Nej det har jeg ikke. Men det her burde da virke.
Avatar billede ztyxx Nybegynder
14. oktober 2002 - 16:12 #32
ja, det burde det...
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