Sida 1 av 1

Spara URL i Mysql

Postat: 7 oktober 2013, 01:32:19
av SeniorLemuren
Försöker spara en URL "$_SERVER["SERVER_ADDR"]" i en Mysql datbas. Jag lägger den först i ett hidden textfält. Eftersom det är punkter i adressen ex. 80.252.164.206 så vill det sig inte.
När jag gör på följande vis:

Kod: Markera allt

<input name="serveraddr" type="hidden" value="<?php echo $_SERVER["SERVER_ADDR"]; ?>"
så skrivs '::1' i textfältet.
echo direkt utan textfält skriver korrekt på skärmen.

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 03:23:29
av sebastiannielsen
SERVER_ADDR lagrar ju serverns IP-adress.
::1 är localhost på IPv6-språk.

Vill du ha DNS-namnet för servern så skriver du SERVER_NAME
Då tar den DNS-namnet från configfilen (Den gör altså ingen onödig rDNS lookup).

En annan grej kan vara HTTP_HOST om du vill veta vad för hostname som står i adressfältet för att bygga absoluta url:ar med.

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 06:20:23
av SeniorLemuren
Ok. Tack, det förklarar saken. :)

Jag vill ha tag i ip-numret till den som loggar in. Det är då kanske REMOTE_ADDR, eller?

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 07:39:49
av maDa
Jepp

Men det ska du inte göra i en input, utan direkt i PHP-koden, dvs:

Kod: Markera allt

$sql->exec("INSERT INTO grejor ('namn', 'ip') VALUES ('".$sql->quote($_POST['namn'])."', '".$_SERVER['REMOTE_ADDR']."')")

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 11:45:39
av SeniorLemuren
Det förstår jag, men grejen är den att jag vill ha med värdet till nästa sida där jag sparar den plus lite annan data i MySql.

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 11:50:29
av Nerre
Men lägger du den i en dold kontroll i en form så kan användaren redigera den. Det är väl bara att låta "nästa sida" spara ner IP-adressen direkt i MySQL?

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 12:56:34
av SeniorLemuren
Innan jag sparar data till databasen vill jag presentera all data på den första formen innan jag på nästa form sparar ner alla fält.

Det är väl ett ganska vanligt sätt att använda sig av $_request för att ta med sig data från en sida till en annan, eller?

Hur menar du att användaren kan ändra på ett hidden fält som postas och som genast sparas ned till databasen på nästa sida.

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 13:04:31
av Johanb
Det kanske är bättre att lagra sådan info server-side som session?

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 13:26:45
av papabear
SeniorLemuren skrev:Innan jag sparar data till databasen vill jag presentera all data på den första formen innan jag på nästa form sparar ner alla fält.

Det är väl ett ganska vanligt sätt att använda sig av $_request för att ta med sig data från en sida till en annan, eller?

Hur menar du att användaren kan ändra på ett hidden fält som postas och som genast sparas ned till databasen på nästa sida.
Det är väldigt lätt att ändra på dolda input via t.ex firebug, eller vilket dev-verktyg som helst.

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 13:29:55
av Meduza
Finns tom specifika tillägg för att just editera postdata och http-requests: https://addons.mozilla.org/En-us/firefo ... mper-data/

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 20:39:15
av maDa
SeniorLemuren skrev:Innan jag sparar data till databasen vill jag presentera all data på den första formen innan jag på nästa form sparar ner alla fält.

Det är väl ett ganska vanligt sätt att använda sig av $_request för att ta med sig data från en sida till en annan, eller?

Hur menar du att användaren kan ändra på ett hidden fält som postas och som genast sparas ned till databasen på nästa sida.
Förstår inte.

$_SERVER['REMOTE_ADDR'] kommer alltid vara klientens publika IP-address.

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 20:55:01
av danielr112
hänger inte heller med helt. Plocka remote_addr när du ska spara det. Behöver inte gömma undan den någonstans.

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 22:56:29
av ajje
Sen ska man tänka på att HTTP är "stateless", att då spara klientens ip-adress mellan olika sidor ställer bara till det. Sitter klienten till exempel bakom en proxyfarm kan varje http-anrop komma från olika ip-adresser.

Re: Spara URL i Mysql

Postat: 7 oktober 2013, 23:10:39
av johano
Vad man framförallt ska tänka på är att använda parameteriserade sqluttryck och inte konkatenera strängar som sedan exekveras!

/johan