webForumDet fria alternativet

$get ger Undefined index

PHP

6 svar · 454 visningar · startad av nummersju

Medlem sedan aug. 2005198 inlägg
Frågan#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?

Medlem sedan mars 20041 505 inlägg
#2

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

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

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

Medlem 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?

Medlem sedan aug. 20039 340 inlägg
#5

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

Medlem 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

Medlem 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
266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)