mboost-dp1
hjælp til PHP kode
- Forside
- ⟨
- Forum
- ⟨
- Programmering
hej jeg er ganske ny i alt det her programmering og håber jeg kan få lidt hjælp her inde til mit problem...
jeg er ved at designe en blog og har fået lavet min MySQL færdig så det hele virker samt lavet min første side hvor man kan "lave" et indlæg, alt dette fungere fint og har tjekket at min MySQL fungere
men denne kodestump vil ikke virke er der nogle der kan sige mig hvorfor?
jeg er ved at designe en blog og har fået lavet min MySQL færdig så det hele virker samt lavet min første side hvor man kan "lave" et indlæg, alt dette fungere fint og har tjekket at min MySQL fungere
men denne kodestump vil ikke virke er der nogle der kan sige mig hvorfor?
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
$result=mysql_query($sql);
if($result){
echo "Successful<BR>";
echo "<a href=main_forum.php>View your topic</a>";
Nu har jeg ikke rigtigt kodet php før, men
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
burde vist være:
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime) VALUES ('$topic', '$detail', '$name', '$email', '$datetime')"; forudsat de alle er strings, prøv evetuelt at udskrive resulstatet af sql og insæt den i din sql manager og se resulstatet der.
I øvrigt er du dybt vulnerable overfor sql injections, det burde du nok læse op på inden du ligger noget ud på wwww
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
burde vist være:
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime) VALUES ('$topic', '$detail', '$name', '$email', '$datetime')"; forudsat de alle er strings, prøv evetuelt at udskrive resulstatet af sql og insæt den i din sql manager og se resulstatet der.
I øvrigt er du dybt vulnerable overfor sql injections, det burde du nok læse op på inden du ligger noget ud på wwww
Mamad:jeg sikre selvfølgelig min SQL inden den kommer op på det store WWW ;)
koden vill eikke reagere hvis jeg satte det ind du skrev :( andet foreslag?
please!!!
koden vill eikke reagere hvis jeg satte det ind du skrev :( andet foreslag?
please!!!
arne_v:
virker ikke: i forhold til hele koden ->
har jeg testet (ved at sætte echo "hej") ind efter jeg forbinder til min database og efter
og det virker...
jeg har også prøvet at echo $sql ud og så viser den også den string der er SQL derfor har jeg med mine få egenskaber tænkt at det er der fejlen er
virker ikke: i forhold til hele koden ->
<?php
$host="localhost"; // Host name
$username="kmariea"; // Mysql username
$password="3XrdRPsd3AJ3tvLw"; // Mysql password
$db_name="kmariea"; // Database name
$tbl_name="forum"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// get data that sent from form
$topic=$_POST['topic'];
$detail=$_POST['detail'];
$name=$_POST['name'];
$email=$_POST['email'];
$datetime=date("d/m/y h:i:s"); //create date time
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
$result=mysql_query($sql);
if($result){
echo "Successful<BR>";
echo "<a href=main_forum.php>View your topic</a>";
}
else {
echo "ERROR";
}
mysql_close();
?>
har jeg testet (ved at sætte echo "hej") ind efter jeg forbinder til min database og efter
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
$result=mysql_query($sql);
og det virker...
jeg har også prøvet at echo $sql ud og så viser den også den string der er SQL derfor har jeg med mine få egenskaber tænkt at det er der fejlen er
... altså i
$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
$result=mysql_query($sql);
if($result){
echo "Successful<BR>";
echo "<a href=main_forum.php>View your topic</a>";
#10
Altså enten omdøber du datetime i tabellen til xdatetime og bruger:
$sql="INSERT INTO $tbl_name(topic, detail, name, email, xdatetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
eller så bruger du forward dapper (grimt men):
$sql="INSERT INTO $tbl_name(topic, detail, name, email, `datetime`)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
Altså enten omdøber du datetime i tabellen til xdatetime og bruger:
$sql="INSERT INTO $tbl_name(topic, detail, name, email, xdatetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
eller så bruger du forward dapper (grimt men):
$sql="INSERT INTO $tbl_name(topic, detail, name, email, `datetime`)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
$result=mysql_query($sql) or die(mysql_error());=Duplicate entry '0' for key 1
echo "ERROR"=echo "echo mysql_error()";
echo "$result=mysql_query($sql) or die(mysql_error())";=mysql_query(INSERT INTO forum(topic, detail, name, email, datetime)VALUES('1', '2', '3', '4', '11/04/12 10:09:45')) or die(mysql_error()
Den sørger for at din ID (som jo fungerer som en hurtig reference til dine posts automatisk bliver sat rigtigt, så den auto incrementer (altså automatisk giver dine posts ID 1, 2, 3 osv.)
Er det her noget skole arbejde eller ?
Selv tak :)
Er det her noget skole arbejde eller ?
Selv tak :)
arne_v (11) skrev:Altså enten omdøber du datetime i tabellen til xdatetime og bruger
Jeg vil ikke mene der er nogle problemer i at kalde en kollonne datetime.
Men formatet er ikke en korrekt datetime, hvis typen faktisk er en datetime.
katrine_ny_i_programering (7) skrev:$datetime=date("d/m/y h:i:s"); //create date timet
En datetime bør se således ud: date("Y-m-d H:i:s");
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.