Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Php & mysql

Skapad av Borttagen, 2010-03-26 22:23 i Webbutveckling & Programmering

1 299
11 inlägg
0 poäng
openoffice
Visningsbild
Hjälte 117 inlägg
0
Hej jag är ny med PHP och mysql och nu håller jag på med en grej så man ska lägga till data i databasen. Jag har ett script som gör att man lägger till "name" men jag ska lägga till tre fält till id,subjekt,url var lägger jag in de i koden.
Jag har försökt prova mig fram men inte lyckats

Ett stycke php-kod:


if(!empty($_POST['submit'])) {
$query = "INSERT INTO myTable VALUES(''".$_POST['name']"')";
$updateDb = $mysql ->query($query) or die ($mysql->error);

if($updateDb) {
echo "Grattis!";
}
}


Ett stycke html-kod:

<form method="POST" action="">
<label for="id">Id: </label><input type="text" name="id" id="id" />
<label for="name">Name: </label><input type="text" name="name" id="name" />
<label for="subject">Sub: </label><input type="text" name="subject" id="subject" />
<label for="url">Url: </label><input type="text" name="url" id="url" />
<input type="submit" name="submit" value="Submit" />
</form>

Ingen status

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

iknor
Visningsbild
P 36 Älvsjö Hjälte 3 065 inlägg
0

Svar till openoffice [Gå till post]:

Åh, det här har ju jag vetat... återkommer med svar om ett tag, om ingen annan kan hjälpa :)

Det är ingen orm, det är en ödla

toja92
Visningsbild
P 32 Norrköping Hjälte 2 827 inlägg
0
Svar till openoffice [Gå till post]:

Du får inget mySQL fel? Visas någonting överhuvudtaget?
Testa skriv echo "hej"; precis under if(!empty($_POST['submit'])) { och se om den skriver ut något.

EDIT: Annars kan du testa lägga PHP-koden i en separat fil(som du kallar exempelvis hej.php) och ändra <form method="POST" action=""> till <form method="POST" action="hej.php">

Now there's a look in your eyes, like black holes in the sky.

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till toja92 [Gå till post]:

det funkar med ett värde, men nu ska jag använda 4 totalt och det är då problemet vart jag ska lägga in det någonstans kommer

Ingen status

iknor
Visningsbild
P 36 Älvsjö Hjälte 3 065 inlägg
0
Svar till openoffice [Gå till post]:
Ett stycke php-kod:
$query = "INSERT INTO myTable (id, name, subject, url) VALUES ($_POST['$id'], $_POST['$name'], $_POST['$subject'], $_POST['$url'])";


I den första parantesen skriver du vilka fält i databasen som värdena på variablerna ska hamna i. Jag vet inte vad de heter, men det vet antagligen du ;)
I andra parantesen anger du vilken variabel som ska hamna vart :)

Jag är inte heeelt säker på att det här är rätt, men du kan ju testa ^^

Det är ingen orm, det är en ödla

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till iknor [Gå till post]:

tack det löste sig! :D

Ingen status

iknor
Visningsbild
P 36 Älvsjö Hjälte 3 065 inlägg
0

Svar till openoffice [Gå till post]:

Varsågod, bra att det funkade :)

Det är ingen orm, det är en ödla

eLAJT
Visningsbild
34 Hjälte 2 400 inlägg
0

Svar till openoffice [Gå till post]:

Dock måste jag bara säga att din kod inte är det minsta säker, det finns gott om mysql-injections att tillgå i din kod.

wat

openoffice
Visningsbild
Hjälte 117 inlägg
Trådskapare
0

Svar till eLAJT [Gå till post]:

okej, Vad ska jag göra för att göra den mer säker?

Ingen status

Kristoffer
Visningsbild
P 32 Saltsjö-duvnäs Hjälte 294 inlägg
0
Bara för att, så att du inte sitter och får en massa sql-injektioner på din server:

Ett stycke php-kod:



if(!empty($_POST['submit'])) {
$name = mysql_real_escape_string($_POST['name']);

$query = "INSERT INTO myTable ('kolumner','kolumner','kolumner') VALUES('".$name."','$nästa variabel','nästa variabel')";
$updateDb = $mysql ->query($query) or die ($mysql->error);

if($updateDb) {
echo "Grattis!";
}
}



Obs: kan finnas fel :P skrev rakt in hit.

Använd funktioner såsom mysql_real_escape_string($variabel/$_post/$_get);
och om du tex bara ska hämta hem ett ID, så använd simpla funktioner som bara kollar ifall variabeln är i bara siffror etc.

Kolla även upp:
http://en.wikipedia.org/wiki/Cross-site_scripting
(det är dock överkurs för dig just nu tror jag)

Love is just a che...

cower
Visningsbild
P 44 Lund Hjälte 1 042 inlägg
0

Svar till Kristoffer [Gå till post]:
"simpla funktioner som bara kollar ifall variabeln är i bara siffror"
En enklare metod är att bara göra en cast till integer.
Ett stycke php-kod:
$id = (int) $_POST['id']



Forum » Datorer & IT » Webbutveckling & Programmering » Php & mysql

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons