webForumDet fria alternativet

Formulär körs konstant?

PHPur PHP

2 svar · 378 visningar · startad av SoulGod

SoulGodMedlem sedan aug. 20051 200 inlägg
#1

Jag har ett formulär på sidan där man kan regga sin email för nyhetsbrev..
Formulärkoden ser ut såhär:

<form method="POST" action="index.php">
	        	<input type="text" size="25" name="mail" class="form"><p/>
                <input type="submit" size="10" value="Lägg till!"><p/>
	     </form>

och koden som sparar infon ser ut såhär:

$mail   = $_POST['mail'];
$laggTill = "INSERT INTO maillist (email) VALUES ('$mail')";
mysql_query($laggTill) or die("Det gick inte att lägga till information!");
mysql_close($f);
print("Information lades framgångsrikt till i databasen!");

Men problemet är att den försöker köra "sparkoden" varje gång man går in på sidan.. varför?
SKall man ha ( i form-koden) något i stil med action="index.php?spara" eller något för att undvika detta?

För just nu sparar den en massa tomma rader varje gång man går in.

drewMedlem sedan mars 2007845 inlägg
#2

Sätt namn på din submit

<input type="submit" name="submit" size="10" value="Lägg till!">

Sen kollar du i koden om den är satt.

if(isset($_POST['submit']))
{
  $mail   = $_POST['mail'];
  $laggTill = "INSERT INTO maillist (email) VALUES ('$mail')";
  mysql_query($laggTill) or die("Det gick inte att lägga till information!");
  mysql_close($f);
  print("Information lades framgångsrikt till i databasen!");
}

Fast du borde också köra lite addslashes() på det som kommer via formuläret innan du skickar in det i databasen.

Edit: Använd mysql_real_escape_string() istället för addslashes() om du har MySQL.

SoulGodMedlem sedan aug. 20051 200 inlägg
#3

Underbart!
Jag skall optimera koden för att få ut text o.s.v bättre,
just nu vill jag bara få grundmallen att funka.

Tack ;)

128 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)