Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

Problemer med at uploade data til min MySQL-database vha. PHP og submit forms

Side 1 ud af 1 (9 indlæg)
  • 1
Fra Skanderborg
Tilmeldt 24. Jan 13
Indlæg ialt: 6
Skrevet kl. 19:21
Hvor mange stjerner giver du? :

Hej Amino'er! Smile

Jeg er mildest talt ingen haj til PHP og MySQL, men jeg prøver alligevel at få lidt styr på det, hvilket er gået mig ok indtil videre. Det eneste problem jeg dog er støt på, er at jeg ikke kan få min "submit form" til at uploade de indtastede data til min MySQL-database, vha. kommandoen "INSERT INTO". At hente ned fra databasen virker gnidningsfrit, men omvendt sker der intet udover at siden ikke loader, hvis jeg har "INSERT INTO"-kommandoen i min kode.

Jeg poster en kode næsten magen til herunder (uden kodeord til min database osv.), nogen der kan hjælpe mig? I må endelig spørge hvis der er nogle af mine variabler I ikke lige har styr på, samt rette andre mulige fejl - jeg bliver jo kun klogere af en længere diskussion og/eller flere råd. Wink

Hav en rigtig god aften!

Fra Odder
Tilmeldt 17. Jun 12
Indlæg ialt: 193
Fra  Todic Net Skrevet kl. 11:50
Hvor mange stjerner giver du? :

Well, dit felt hedder form1 og du henter $_POST['form'] i din insert...

Men udover en masse uheldigheder/fejl, så skal mysql_query som minimum have strengen i "-tegn.

mysql_query("INERT INTO tabel(kolonne1) VALUES (" . $_POST['form1'] . ")");

Fra Helsingborg
Tilmeldt 3. Apr 05
Indlæg ialt: 6555
Fra  TextReactor Skrevet kl. 11:55
Hvor mange stjerner giver du? :

Tommy Bjerg:
mysql_query("INERT INTO tabel(kolonne1) VALUES (" . $_POST['form1'] . ")");

Den der bruger du vel ikke...... SQL-injection....

Fra Odder
Tilmeldt 17. Jun 12
Indlæg ialt: 193
Fra  Todic Net Skrevet kl. 12:42
Hvor mange stjerner giver du? :

@Niels : Hahah nej. men hvis ha i første omgang skal ha hul igennem, rettede jeg så lidt som muligt i hans egen kode.

Fra Skanderborg
Tilmeldt 24. Jan 13
Indlæg ialt: 6
Skrevet kl. 15:26
Hvor mange stjerner giver du? :

"form" var en slåfejl, der er jo kun én form Wink
Tak for din respons, men jeg kan ikke få siden til at virke. Siden vil simpelthen ikke loade når jeg bruger denne kommando i koden:

mysql_query("INSERT INTO temp(quote) VALUES ("$_POST['thequote']")");

Når jeg fjerner den éne kommando, loader resten fuldstændigt som det skal.

Jeg ville være så taknemmelig, hvis du vil kigge på filen og se om du kan finde fejlen. Forbindelsen til databasen dannes uden problemer Smile

6835.post.php.zip

Fra København
Tilmeldt 25. Feb 09
Indlæg ialt: 175
Fra  BitMasch Skrevet kl. 17:52
Hvor mange stjerner giver du? :

Er du sikker på databasen med navnet "database" og tabellen med navnet "temp" findes? Kig evt. efter i din backend (phpMyAdmin eller lignende).

Som Niels korrekt nævner er din kode sårbar overfor SQL Injection, kort fortalt kan jeg f.eks. slette din tabel ved at indtaste noget i retning af "blabla"); DROP TABLE quote; --" i din form, så den endelige SQL query i din kode kommer til at være:

"INSERT INTO temp(quote) VALUES ("blabla"); DROP TABLE temp; --" (alt efter -- bliver ignoreret og set som en kommentar af MySQL).

Du kan i stedet bruge PDO og prepared statements, har omskrevet dit lille eksempel til at bruge PDO. Tag et kig og se om det virker.

Note: koden er skrevet i en fart, håber ikke der er bugs i :)

Softwareudvikler med speciale indenfor skalerbare webløsninger. PHP, MySQL, Puppet, Python, Apache, nginx, HTML5, m.m.
http://bitmasch.com/

Fra Odder
Tilmeldt 17. Jun 12
Indlæg ialt: 193
Fra  Todic Net Skrevet kl. 21:08
Hvor mange stjerner giver du? :

Bemærk at der er punktum før og efter $_POST['form'] ...

"- tegne omslutter strenge fx. "title"

men punktum klipper strenge sammen :) -  fx : "title : " . $mintitel;

Fra Skanderborg
Tilmeldt 24. Jan 13
Indlæg ialt: 6
Skrevet kl. 10:42
Hvor mange stjerner giver du? :

Ved du hvad, Martin? Det fungerer perfekt med din kode! Yes Der er en del syntakser jeg ikke forstår, men jeg vil helt klart slå dem op, så jeg kan finde ud af hvordan magien virker Wink Tusind tak!

Mht. SQL Injection, så ved jeg ikke meget om det, men heldigvis er dette også kun et eksempel jeg laver for at blive bedre til PHP og SQL. Tak for linket alligevel - jeg vil bruge det i fremtiden!

Rigtig god dag til jer alle Smile

Fra København
Tilmeldt 25. Feb 09
Indlæg ialt: 175
Fra  BitMasch Skrevet kl. 22:13
Hvor mange stjerner giver du? :

No problemo, held og lykke med lære PHP/SQL!

Mht. SQL injection så handler det egentlig bare om at du aldrig kan stole på brugerens input, altså i dette tilfælde det brugeren skriver i input feltet.

En "ond" bruger kan skrive ting i feltet som har utilsigtede sideeffekter, i mit tilfælde ovenfor sletter den f.eks. din database tabel.

SQL Injection

Hvis nu du f.eks. skriver data fra databasen ud på en anden side, og en bruger har indsat "<script>alert('HACKED YOUR SITE');</script>" i stedet for hvad du forventede og du ikke filtrerer dataene før de præsenteres, så kan brugerne gøre farlige ting ved din side og dine brugeres data.

Softwareudvikler med speciale indenfor skalerbare webløsninger. PHP, MySQL, Puppet, Python, Apache, nginx, HTML5, m.m.
http://bitmasch.com/

Side 1 ud af 1 (9 indlæg)