Hej mina små fjöl.
Nu är det så att jag har precis börjat koda php och vill ha lite hjälp.
Jag försöker göra ett nyhetscript. Men problemet ligger i inputen till tablen.
Jag har en input och sedan en insert som ska sätta in texten jag skrivit i databasen.
Inputen ser hur på följande vis.
<form method="post" action="insert.php">
<input type="text" name="Name"> <br /> <br />
<textarea name="nyheten" rows="15" cols="45"></textarea> <br />
<input type="submit" name="submit" value="submit" />
</form>
Och insert ser hur så här.
<?php
if(!isset($_GET['post'])) {
echo "Oh no you dont!";
} else {
if($_POST['Name'] == "" OR $_POST['Nyheten'] == "") {
echo "Rubriken eller Nyheten Kan inte vara tomt! Fy.";
} else {
include('data.php');
mysql_connect("$dbhost","$dbuser","$dbpass")
or die(mysql_error());
mysql_select_db("$dbname")
or die(mysql_error());
$query = "INSERT INTO $dbtable(name, nyheten) ";
$query .= "VALUES('".$_POST['name']."', '".$_POST['nyheten']."')";
mysql_query($query);
header("Location: nyheter.php");
}
}
?>
Problemet jag får är att det står när jag postat min text kommer Oh no you dont! fram på sidan.
Så jag undrar vad som är fel?
Det är inte jag som gjort inserten helt.
Men jag har ändrat efter det jag tror jag ska ändra efter (!)
Fälten i tabellen heter följande.
Nyheten
Name
Tack för hjälp.
tydalMedlem sedan juni 20034 013 inlägg Ändra
if (!isset($_GET['post'])) {
till
if (!isset($_POST)) {
dectgapMedlem sedan sep. 20021 655 inlägg Eller t.o.m.
if (empty($_POST)) {
eftersom $_POST alltid finns, även om man inte skickar några POST-variabler, om jag inte missminner mig.
Vad ska jag ändra till? :| Vem ska jag lita på.
NU ser den ut så här.
<?php
if (empty($_POST)) {
echo "Oh no you dont!";
} else {
if($_POST['Name'] == "" OR $_POST['Nyheten'] == "") {
echo "Rubriken eller Nyheten Kan inte vara tomt! Fy.";
} else {
include('data.php');
mysql_connect("$dbhost","$dbuser","$dbpass")
or die(mysql_error());
mysql_select_db("$dbname")
or die(mysql_error());
$query = "INSERT INTO $dbtable(name, nyheten) ";
$query .= "VALUES('".$_POST['name']."', '".$_POST['nyheten']."')";
mysql_query($query);
header("Location: nyheter.php");
}
Problemet blir :
Notice: Undefined index: Nyheten in C:\Program\Apache Group\Apache2\htdocs\nyheter\insert.php on line 6
Rubriken eller Nyheten Kan inte vara tomt! Fy.
dectgapMedlem sedan sep. 20021 655 inlägg $_POST['Nyheten'] ska vara $_POST['nyheten']
Parse error: parse error, unexpected T_ECHO in C:\Program\Apache Group\Apache2\htdocs\nyheter\insert.php on line 7
På kod
<?php
if (empty($_POST)) {
echo "Oh no you dont!";
} else {
if($_POST['name'] == "" || $_POST['nyheten'] ==
echo "Rubriken eller Nyheten Kan inte vara tomt! Fy.";
} else {
include('data.php');
mysql_connect("$dbhost","$dbuser","$dbpass")
or die(mysql_error());
mysql_select_db("$dbname")
or die(mysql_error());
$query = "INSERT INTO $dbtable(name, nyheten) ";
$query .= "VALUES('".$_POST['name']."', '".$_POST['nyheten']."')";
mysql_query($query);
header("Location: nyheter.php");
}
}
?>
dectgapMedlem sedan sep. 20021 655 inlägg Försöker du själv?
Ta en titt på rad 6.
Okej. Jag hittade lite små fel.
Nu har jag tagit bort den där delen.
Bara krånglade.
Nu får jag felmeddelandet.
Notice: Undefined index: name in C:\Program\Apache Group\Apache2\htdocs\nyheter\insert.php on line 14
Warning: Cannot modify header information - headers already sent by (output started at C:\Program\Apache Group\Apache2\htdocs\nyheter\insert.php:14) in C:\Program\Apache Group\Apache2\htdocs\nyheter\insert.php on line 18
Med koden :
<?php
if (empty($_POST)) {
echo "Oh no you dont!";
} else {
include('data.php');
mysql_connect("$dbhost","$dbuser","$dbpass")
or die(mysql_error());
mysql_select_db("$dbname")
or die(mysql_error());
$query = "INSERT INTO $dbtable(name, nyheten) ";
$query .= "VALUES('".$_POST['name']."', '".$_POST['nyheten']."')";
mysql_query($query);
header("Location: nyheter.php");
}
?>
oHLLeMedlem sedan nov. 2002302 inlägg Byt ut $_POST['name'] mot $_POST['Name'] i din query. Du kallar ju textfältet för Name och inte name
dectgapMedlem sedan sep. 20021 655 inlägg Var konsekvent med VERSALER/gemener i fältnamn, så undviker du sådana slarvfel.