webForumDet fria alternativet

insertar ej in uppgifter i databas

PHP

11 svar · 515 visningar · startad av supercajo

Medlem sedan jan. 2005114 inlägg
Frågan#1

Hej!

Har upptäckt ett konstigt problem....jag håller på att göra ett eget nyhetsscript i PHP. Alt flyter på och jag kommer till rätt sida utan att något felmeddelande dyker upp, databaskopplingen är riktig då den funkar till ett annat script, men just här så läggs inget till i databasen (MySQL).

JAg bifogar längre ner koden på nyhetssidan och hoppas ni kan ge mig lite tips....

<?PHP
include("functions.php");

protectME();
connectDB();

if(isset($_POST['Nyheter'])) {
$Rubrik = $_POST['Rubrik'];
$Artikel = $_POST['Artikel'];
$Author = $_POST['Author'];

$laggTill = "INSERT INTO nyheter
(Rubrik, Artikel, Gjord) VALUES ('$Rubrik', '$Artikel', '$Author')";
mysql_query($laggTill) or die("Det gick inte att lägga till information!");
}

?>

Medlem sedan nov. 20014 054 inlägg
#2

Om du skriver ut $laggTill med echo .. finns uppgifterna där då?

Medlem sedan jan. 2005114 inlägg
#3

näe....sidan med formuläet kommer ej upp då....så då går det inte att göra någonting,bara vit sida!

Medlem sedan nov. 20014 054 inlägg
#4

ge koden för formuläret också, vet ja!

Medlem sedan jan. 2005114 inlägg
#5

här är koden för hela sidan....(*De ligger på samma sida)
kan också påpeka att connectionDB() och protectME() funkar på andra databasknutna sidor, och fungerar som de ska...

<?PHP
include("functions.php");

protectME();
connectDB();

if(isset($_POST['Nyheter'])) {
$rubrik = $_POST['rubrik'];
$artikel = $_POST['artikel'];
$author = $_POST['author'];

$laggTill = "INSERT INTO nyheter
(rubrik, artikel, gjord) VALUES ('$Rubrik', '$Artikel', '$Author')";
mysql_query($laggTill) or die("Det gick inte att lägga till information!");
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<?php

?>

<html xmlns="http://www.w3.org/1999/xhtml">

\<head\>
	\<meta http-equiv="content-type" content="text/html;charset=utf-8" /\>
	\<meta name="generator" content="Adobe GoLive" /\>
	\<title\>Untitled Page\</title\>
\</head\>

\<body bgcolor="#ffffff"\>
	\<font color="#eed02b" face="Verdana, Arial, Helvetica, sans-serif"\>Lägg till nyhet:\<br /\>
	\</font\>
	\<p\>\</p\>
	\<p\>\</p\>
	\<form id="nyheter" action="laggtill.php" method="post" name="nyheter"\>
		\<input type="text" name="rubrik" size="24" /\>\<br /\>
		\<br /\>
		\<textarea name="artikel" rows="4" cols="40"\>\</textarea\>\<br /\>
		\<br /\>
		\<input type="text" name="author" size="24" /\>\<br /\>
		\<br /\>
		\<input type="submit" name="send" value="Skapa" /\>
	\</form\>
	\<p\>\</p\>
\</body\>

</html>

Medlem sedan mars 2005232 inlägg
#6

supercajo skrev:

<form id="nyheter" action="laggtill.php" method="post" name="nyheter">

Ska du verkligen ha en action till en annan sida om du har insert-koden på samma sida?

Tänkte bara meddela om att det finns en kod-funktion också...lite lättare överskådligt då ;)

Medlem sedan juli 20023 617 inlägg
#7

Stora och små bokstäver i variabelnamnen... Se till att de är lika på alla ställen.

Medlem sedan mars 2005232 inlägg
#8

Föresten, om du skriver $variabel inom '', lagras inte då värdet $variabel och inte det som variabeln innehåller?

Testa att avskilja dem kanske?

$laggTill = "INSERT INTO nyheter
(rubrik, artikel, gjord) VALUES ('" .$Rubrik. "', '" .$Artikel. "', '" .$Author. "')";
mysql_query($laggTill) or die("Det gick inte att lägga till information!");

och som fiddler nämnde, ha kolla på stora och små bokstäver.

Lycka till!
Nu ska jag ta mig en välförtjänt tupplur! :bire

Medlem sedan jan. 2005114 inlägg
#9

bokstävern är tillrättade funkar fortfarande inte, näe, behöver jag inte ha, men hur kan en smidigare lösning se ut? samt, kan det vara det som är bekymret?

Medlem sedan mars 2005232 inlägg
#10

Vänta, tror att jag ser felet. Du kollar ju om $_POST['Nyheter'] är satt, men din submitknapp heter send. Döp om den till Nyheter så borde det väl fungera! :D

Medlem sedan nov. 20014 054 inlägg
#11

Hamatzu skrev:

Vänta, tror att jag ser felet. Du kollar ju om $_POST['Nyheter'] är satt, men din submitknapp heter send. Döp om den till Nyheter så borde det väl fungera! :D

Jao. Gör som Hamatzu säger, antigen ändrar du submit knappens name="Nyheter", eller så ändrar du $_POST['Nyheter'] till $_POST['send'] .. så borde det funka prima.

Medlem sedan jan. 2005114 inlägg
#12

näe, av någonanledning gör det inte det....vad kandå vara felet?

257 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)