webForumDet fria alternativet

skicka data till en databas

3 svar · 253 visningar · startad av dude

dudeMedlem sedan aug. 2002386 inlägg
#1

Hej!
Hur bär man sig åt för att skicka data, till en MySQL-databas, som har matats in via ett formulär på en php-sida??
Jag har alltid skrivit såhär:

$sql = "INSERT INTO gast SET 
             namn='$namn',
            efternamn='$efternamn',
            email='$email',
            inlagg='$inlagg',
           datum='$datum',
			 "; 
     if (@mysql_query($sql)) { 
	Tack & hej!
     } else { 
       echo("<P>Något gick snett" . 
            mysql_error() . "</P>"); 
     }

Men det fungerar tyvärr inte på mitt nya webhotell, supporten säger bara såhär:
din kod innehåller
specifikationer som slutade användas för över 1 år sedan på
uppdaterade och säkrade servrar.

ehh... ja, vad jag undrar är vad jag ska skriva för att få in datan i databasen... Skicka gärna med någon länk så jag kan läsa på om detta ämnet...

LarsGMedlem sedan dec. 200012 464 inlägg
#2
$sql = "INSERT INTO gast SET 
             namn='$namn',
            efternamn='$efternamn',
            email='$email',
            inlagg='$inlagg',
           datum='$datum'
			 "; 
     if (mysql_query($sql)) { 
	Tack & hej!
     } else { 
       echo("<P>Något gick snett" . 
            mysql_error() . "</P>"); 
     }

Det är alltid intressant att se ett (eventuellt) felmeddelande från databashanteraren.

PeeerMedlem sedan mars 20025 907 inlägg
#3

Antar att det är register_globals() som är avstängt på din nya server. För att komma åt värdena som postades via ett forumulär (med method="post") så får du skriva $_POST['email'] istället för $email. Skickar du datan med method="get" istället, så blir det $_GET['email'].

Det finns jobbiga brister i register_globals så det är antagligen därför det är avstängt. Läs länken ovan.

lazatMedlem sedan mars 2001308 inlägg
#4

OBS det finns briser i koden ovan.

Man ska aldrig bara posta in något ifrån ett formulär rakt in i en databas. Man ber om problem då. Du måste göra en kontroll
på datan så att den inte innehåller något som inte ska postas till databasserver. t ex | samt '

annars kan du tillåta att vem som hällst läser ut data och publiserar på skärmen. ' tecken måste ersättas med dubbelsnuffe annars så kommer strängen att avslutas och angriparen kan ge andra komandon till servern.

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