WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   PHP-mysql 2 rader läggs till i stället för en (https://www.wn.se/forum/showthread.php?t=26751)

Erik Stenman 2008-01-30 17:01

Kod:

<?
$name = $_POST['name'];
$category = $_POST['category'];
$url = $_POST['url'];
$demo = $_POST['demo'];
$about = $_POST['about'];
$item = $_POST['item'];

$connection = mysql_connect("XXXXXXX",
              "XXXXXXX",
              "XXXXXX");
mysql_select_db("XXXXXXXX", $connection);

$query="INSERT INTO `XXXXXX`.`script` (
`name` ,
`category` ,
`framework` ,
`site` ,
`demo` ,
`about` ,
`image` ,
`user`
)
VALUES (
'$name', '$category', '', '$url', '$demo', '$about', '', '')";
mysql_query($query);
 

?>

Det läggs till 2 rader i stället för en när skriptet körs. När jag postar datan händer det men inte när jag har method="GET".
Vad kan detta bero på?

msjoedin 2008-01-30 20:08

Citat:

Originally posted by aquastorm@Jan 30 2008, 18:01
Kod:

<?
$name = $_POST['name'];
$category = $_POST['category'];
$url = $_POST['url'];
$demo = $_POST['demo'];
$about = $_POST['about'];
$item = $_POST['item'];

$connection = mysql_connect("XXXXXXX",
              "XXXXXXX",
              "XXXXXX");
mysql_select_db("XXXXXXXX", $connection);

$query="INSERT INTO `XXXXXX`.`script` (
`name` ,
`category` ,
`framework` ,
`site` ,
`demo` ,
`about` ,
`image` ,
`user`
)
VALUES (
'$name', '$category', '', '$url', '$demo', '$about', '', '')";
mysql_query($query);
 

?>

Det läggs till 2 rader i stället för en när skriptet körs. När jag postar datan händer det men inte när jag har method="GET".
Vad kan detta bero på?

Ett tips bara. Använd
Kod:

extract($_POST);
i stället för alla rader i början. Då tilldelas variablerna värdet från motsvarande $_POST['xxxx']

Ligger detta script i samma fil som formuläret? Om det gör det kan det vara anledningen...

/ Mats

tartareandesire 2008-01-30 20:39

Hm, låter märkligt. Kan felet ligga utanför den scriptsnutt du klistrade in?

Magnus_A 2008-01-30 21:18

En varning: extract('$_POST') öppnar ett gigantiskt säkerhetshål.

herq 2008-01-31 09:51

Använd inte extract(). Och du får nog ge oss lite mer information. Som någon annan undrade: Ligger koden i samma fil som formuläret? Använd i sådant fall:
Kod:

if (strtolower($_SERVER['REQUEST_METHOD']) == 'post'):

Erik Stenman 2008-01-31 15:25

Koden används i ajaxtoplist.com i lägg till skriptfunktionen längst ner på sidan till vänster.
Jag vet att det ser väldigt dåligt ut i IE och i vissa FF-versioner, sidan är precis upplagd och inte färdig.

tartareandesire 2008-01-31 16:24

Extract() bör under inga omständigheter användas på data från användare.

msjoedin 2008-01-31 16:40

Citat:

Originally posted by tartareandesire@Jan 31 2008, 17:24
Extract() bör under inga omständigheter användas på data från användare.
Oops.. ska nog ändra på några ställen... :unsure:

Erik Stenman 2008-02-01 11:12

Nån som kollat på exemplet och har några tips eller ideer?


Alla tider är GMT +2. Klockan är nu 02:29.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson