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 insert into

Skapad av Borttagen, 2011-01-25 21:42 i Webbutveckling & Programmering

1 720
18 inlägg
0 poäng
php
Visningsbild
Hjälte 7 inlägg
0
Tjena.. förstår inte varför jag inte får ordning på scriptet som ska ladda upp information till databasen...

.............
mysql_query("INSERT INTO table (name,email,comment,datetime)
VALUES ('$_POST[name]','$_POST[email]','$_POST[comment]','$datetime')");
.............

och formen till php:n (förkortat)...

<form method="post">

<input name="email" type="text" id="email" size="40" /> osv.....

<input type="submit" name="Submit" value="Skicka" />

</form>

Felet ligger i att när jag försöker skicka information till databasen fungerar inget som det ska, dvs ingen information (förutom klockan) laddas upp till databasen.

Har testat att sätta in konstanter istället för stringar och ladda upp men det funkar inte heller.... Någon som ser något fel?

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

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0
Vad händer om du passar in de andra grejerna som icke-post -variabler?

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

php
Visningsbild
Hjälte 7 inlägg
Trådskapare
0

Svar till Erotisk_Eruption [Gå till post]:
Ingenting :( har testat allt känns det som..

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0
Använd mysql_error och titta om du får något felmeddelande. Sedan är det inte säkert att skicka med post-variablerna som du gör. Läs på lite om sql-injection.

Jag är ond!

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0
Hur funkar det om du kör {$VAR} istället för $VAR?=

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

php
Visningsbild
Hjälte 7 inlägg
Trådskapare
0

Svar till Erotisk_Eruption [Gå till post]:
Nej fungerar inte..


Svar till Tvillingen [Gå till post]:
Ok, tack! hur skulle jag använda mysql_error här i så fall?
Kan du ge exempel på hur jag kan lösa mysql injections?


Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0

Svar till php [Gå till post]:
echo mysql_error();

Sql-injections kan man hindra genom att använda funktionen htmlentities, eller själv kontrollera att datan som skickas med inte innehåller några "farliga" tecken.

En annan lösning är att istället för att använda mysql-funktionerna ta en titt på PDO och mysqli.

Jag är ond!

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till php [Gå till post]:


if (!isset($_POST['submit'])) {
// Här är koden som behandlar insert into-grejerna.

} else {
//den här koden körs oavsett om post är satt eller ej
}


Om du vet att du väntar dig intar kan du testa för is_int eller intval, då får du inte strängar där det ka vara intar.

Annars bör du köra variablerna genom mysl_real_escape_string.

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

php
Visningsbild
Hjälte 7 inlägg
Trådskapare
0

Svar till Erotisk_Eruption [Gå till post]:
Jag förstår inte. Informationen skickas fortfarande inte men det laddas fortfarande upp ett "tomt" "inlägg".

Gurrewe
Visningsbild
P 30 Bromma Bästis För många inlägg
0

Svar till php [Gå till post]:
Ett stycke php-kod:
mysql_query("INSERT INTO table (name,email,comment,datetime) 
VALUES ('$_POST[name]','$_POST[email]','$_POST[comment]','$datetime')") or die(mysql_error());


/party

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till php [Gå till post]:
uhm

kör

blabla post->variabler etc


$query = "INSERT INTO table ("INSERT INTO table (name,email,comment,datetime)
VALUES ('$name','$email','$comment','$datetime')");

(Förresten såg jag nu att man brukar skriva $_POST['email'];)

$result = mysql_query($query);
if (!result) {
echo "Du, det blev ett fel här: " . mysql_error();
}

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

php
Visningsbild
Hjälte 7 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
Tack.. ska läsa på lite ;) antar att man kan använda sig av str_replace och htmlenteties för att lösa detta? ;=


php
Visningsbild
Hjälte 7 inlägg
Trådskapare
0

Svar till Erotisk_Eruption [Gå till post]:
Får varken några värden uppladdade eller något mysql_error :'(

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0
Svar till php [Gå till post]:
Var jag som skrev fel funktion htmlenteties ska du använda när du skriver ut data på sidan, för att ta bort risken för XSS. mysl_real_escape_string är bättre att använda :)

Du borde dock ta en titt på PDO och/eller mysqli då det är lite modernare än att använda mysql-funktionerna

Jag är ond!

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till php [Gå till post]:
urlencode'a url'er med. och mysql_real_escape_string som sagt. Den fixar det automatiskt.

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE

Rojk
Visningsbild
P 36 Huddinge "Rojk" 3 576 inlägg
0
Ett tips är att köra allt i en echo istället för mysql_query för att se vad variablerna har för värde.

Exactly which part of B flat you don't understand!?

php
Visningsbild
Hjälte 7 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
Tack för hjälpen, orkar inte mer nu men ska kolla mer imorn.. kolla hit igen det var bra hjälp :)


Svar till Erotisk_Eruption [Gå till post]:
vet inte riktigt vad mysql_real_escape_string gör men får testa det.. orkar inte nu bara.

Syndafloden
Visningsbild
P 33 Karlstad Hjälte 10 705 inlägg
0

Svar till php [Gå till post]:
En funktion som escapear strängar, så att man inte kan föra in äcklig mysql i databasen, som "' OR 1 DROP TABLE 'table'" typ.

HEH, TIME FOR A BIT OF A ROUGH AND TUMBLE


Forum » Datorer & IT » Webbutveckling & Programmering » Php insert into

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