filipbhMedlem sedan juli 2002402 inlägg
Hallå... Webbhotellet har uppdaterat till php 5.6 och nu fungerar inte sidorna där jag använder mig av session. Måste jag koda annorlunda?
För att inte mina besök skall registreras brukar jag använda mig av en extrarad i adressfältet. Om den finns där skall inget besök registreras.
session_start();
require("db.php");
date_default_timezone_set('Europe/Stockholm');
$ipadress=$_SERVER['REMOTE_ADDR'];
if($_GET['registreraintebesök']!='1'){
if(!$_SESSION['räknabesök']=='1'){
session_register("räknabesök");
$_SESSION['räknabesök'] = "1";
Nu får jag felmeddelandet Fatal error: Call to undefined function session_register() in fil.php on line 10
och rad 10 är just session_register.
metalboyMedlem sedan jan. 2005870 inlägg
session_register blev depricated i PHP 5.3 och togs bort i PHP 5.4.
Du kan skippa den raden helt och hållet, den har ingen funktion. Det räcker med $_SESSION['räknabesök'] = 1;
Varför lagrar du heltalsvärden som strängar?
filipbhMedlem sedan juli 2002402 inlägg
Okej, jag hittade session_name men det är ingen motsvarighet alltså.
Bra fråga. Det blev så en gång och sen dess har det rullat på. Nu var det längesen jag höll på med detta så jag har inget alternativ heller. Tips?
metalboyMedlem sedan jan. 2005870 inlägg
session_name() är inte någon motsvarighet, nej.
Jag tipsar om att lagra tal som tal och strängar som strängar. Det gäller både i PHP och om du använder någon databas. I både PHP och MySQL anges tal utan omgivande apostrofer eller citattecken.
// Heltal
$var = 10; // Heltal
$var = '10'; // Sträng
$var = "10"; // Sträng
// Flyttal
$var = 10.1; // Flyttal
$var = '10.1'; // Sträng
$var = "10.1"; // Sträng
Om du lagrar tal som strängar så tvingar du PHP till att göra typomvandlingar varje gång du vill använda värdet i en beräkning.
$var = "10"; // Strängen "10" lagras i variabeln
$var += 5; // Här tvingas PHP omvandla strängen "10" till heltalet 10 innan beräkningen kan utföras