webForumDet fria alternativet

$get ger Undefined index

6 svar · 454 visningar · startad av nummersju

nummersjuMedlem sedan aug. 2005198 inlägg
#1

Hej!
Har sökt och sökt och provat och provat. Men aldrig har det fungerat!

<?PHP
	if($_get['action'] = "send") {
		mysql_connect('localhost', 'asdf', 'asdf');
		mysql_select_db('johan') or die ("No connection");
		$datum = date('j, n, Y');

		$query = "INSERT INTO shoutbox (datum, namn, mail, mess) 
		VALUES ('$datum', '$_POST[namn]', '$_POST[mail]', '$_POST[mess]')";
		
		mysql_query($query);
		echo "Tillagd";
		mysql_close();
	}else{
		echo "ERROR!";
	}

?>

<form action="test1.php?action=save" method="post" name="send">
	<label>Namn:</label><br>
		<input type="text" name="namn"><br>
	<label>E-post:</label><br>
		<input type="text" name="mail"><br>
	<label>Meddelande:</label><br>
		<textarea name="mess"></textarea><br>
	<input type="submit" value="Skicka">
</form>

Då får jag ovanför formuläret ut denna text:

Notice: Undefined index: namn in d:\program\easyphp1-8\www\001\test1.php on line 9

Notice: Undefined index: mail in d:\program\easyphp1-8\www\001\test1.php on line 9

Notice: Undefined index: mess in d:\program\easyphp1-8\www\001\test1.php on line 9

Jag har provat att byta

if($_get['action'] = "send")

mot

if(isset($_get['action']) == "send")
och
if(isset($_get['action']) = "send")

men får alltid felmeddelanden!
Hur ska jag göra?

TroxyMedlem sedan mars 20041 505 inlägg
#2

Såhär ska du skriva istället:

if (isset($_get['action']) && $_get['action'] == 'send')
nummersjuMedlem sedan aug. 2005198 inlägg
#3

Det löste det, tack för snabbt svar :)
Älska wF!

nummersjuMedlem sedan aug. 2005198 inlägg
#4

Testa inte allt visst!
Om jag skriver så funkar det inte att skicka till databasen, men det gör det om jag skriver så som jag hade från början.
Sidan ser normal ut om man går till test1.php?action=send men felmeddelandena kommer om jag skriver test1.php.
Och så fort jag laddar om sidan test1.php så skickas en nya post till databasen :(

Hur ska jag göra?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#5

PHP skiljer på stora och små, och $_GET ska stavas med stora bokstäver.

nummersjuMedlem sedan aug. 2005198 inlägg
#6

Det är möjligt!
Men använder jag

(isset($_GET['action']) && $_GET['action'] == 'send')

Så skickas inget till databasen :S

nummersjuMedlem sedan aug. 2005198 inlägg
#7

Hittade felet...
hade visst skrivit fel action av någon anledning.

form action="test1.php?action=send

hade skrivit

form action="test1.php?action=save
123 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)