Avatar billede dorgbar Nybegynder
03. juni 2004 - 17:27 Der er 15 kommentarer og
1 løsning

renskrivning af variabel

Jeg bruger $_SERVER variablerne, og dem insætter jeg så i min mysql database, men den insætter dem som en komando istedet for som tekst.
altså den smider det ind i mysql som:

/urlen-til-mit-websted.dk

og den burde smide det ind som

"/urlen-til-mit-websted.dk"

lidt svært at forklare :]
men "" gør at det betegnes som tekst, og det gør det i mit tilfælde ikke

såskal jeg lige høreom der er en måde at renskrive en variabel på?
Avatar billede dennismp Nybegynder
03. juni 2004 - 17:30 #1
mysql_query("INSERT INTO .. (url) VALUES('" . $_SERVER['REQUEST_URI'] . "')") or die(mysql_error());

er det dette du mener? Du skal selv sætte citationstegn om teksten for at fortælle mysql at det er en tekst-string og ikke alt muligt andet. Det ved $_SERVER variablen ikke noget om.
Avatar billede dorgbar Nybegynder
03. juni 2004 - 17:48 #2
hmm det er muligt prøver lige :]
Avatar billede dorgbar Nybegynder
03. juni 2004 - 17:50 #3
ja det virker :] opret lige et svar
Avatar billede dorgbar Nybegynder
03. juni 2004 - 17:55 #4
næhh mig der tog fejl.

den gemmer kun en /
Avatar billede dennismp Nybegynder
03. juni 2004 - 17:58 #5
Hvordan ser din kode ud?
Avatar billede dorgbar Nybegynder
03. juni 2004 - 18:01 #6
<?
$ip = $_SERVER['REMOTE_ADDR'];
$url = $_SERVER['REQUEST_URI'];
$time = time();
$time2 = $time - 300;

if($sesslogin == '')
    {
    $sesslogin = "Guest";
    }

$i = 0;
$link = Connect();   
$stmt= " SELECT * FROM online WHERE ip = '$ip' ORDER BY time DESC LIMIT 1";
$result = Complete ($stmt, $link);
while($raekke = mysql_fetch_array($resultat))
    {
    $i = 1;
    if($time2 < $raekke['2'])
        {
        $link = Connect();
        $stmt = "UPDATE online SET time='$time', date='$date_', user='$sesslogin', url='"" . $_SERVER['REQUEST_URI'] . ""' WHERE id='$raekke[0]'";
        $result = Complete($stmt, $link);
        }
    else
        {
        $link = Connect();   
        $stmt = "UPDATE online SET time='$time', date='$date_', user='$sesslogin', url='"" . $_SERVER['REQUEST_URI'] . ""' WHERE id='$raekke[0]'";
        $result = Complete($stmt, $link);
        }
    }
   
if($i == '0')
    {
    $link = Connect();   
    $stmt = "INSERT INTO online (ip, time, date, user, url)     VALUES ('$ip', '$time', '$date_', '$sesslogin', '"" . $_SERVER['REQUEST_URI'] . ""')";                       
    $result = Complete($stmt, $link);
    }
if($sesslogin == "Guest")
    {
    $sesslogin = "";
    }
?>
Avatar billede dorgbar Nybegynder
03. juni 2004 - 18:05 #7
hvoraf Connect(); og Complete(); er nogle funtioner som jeg er 100% sikker på virker
og $sesslogin er en session hvor ens loginnavn er gemt i.

det virker fint hvis jeg ikke registrere nogle sessions, hvis jeg gør det så tilføjer den bare en / i url tabellen
Avatar billede dennismp Nybegynder
03. juni 2004 - 18:08 #8
Det ser jo rigtig nok ud..

Men hvis du går ind på dinhjemmeside.com/url.php

så gemmer den kun / ?
Avatar billede dorgbar Nybegynder
03. juni 2004 - 18:16 #9
ja hvis jeg bruger sessions
hvis ikke så virker det fint
og hvis jeg kalder $_SERVER['REQUEST_URI'] mit på en side virker det også selvom jeg bruger sessions :S

og selvom der kun er gemt / imysql, hvis jeg så kalder den laver den min egen om til det den skal, men alle mine besøgene kan kun se deres egen og så dem af dem somikke er logget ind som brugere via sessions
Avatar billede dennismp Nybegynder
03. juni 2004 - 19:38 #10
hmm er der gået noget galt det du copy'n'pastede koden.

login', url='"" . $_SERVER['REQUEST_URI'] . ""' WHERE

"" <- burda da giv een syntaxfejl?
Avatar billede dorgbar Nybegynder
03. juni 2004 - 23:20 #11
gør det ikke :] men har også prøvet det andet,det virker en smule bedre, påden måde at den virker hvis der kun er en bruger på siden der bruger session
Avatar billede dennismp Nybegynder
03. juni 2004 - 23:28 #12
Hvilken PHP version bruger du?

Jeg får nemlig parse error
Avatar billede dorgbar Nybegynder
03. juni 2004 - 23:44 #13
ja kan egentlig også være jeg for det men min host har slået det fra

http://phpinfo.1go.dk/phpinfo
Avatar billede dennismp Nybegynder
03. juni 2004 - 23:57 #14
Så bliver det svært hvis man ikke kan se fejlene :-)

prøv, øverst i dit script at tilføje:

error_reporting(E_ALL);

og se om det ændre noget.
Avatar billede dorgbar Nybegynder
12. juni 2004 - 17:46 #15
<script language="JavaScript" type="text/javascript">
<!--
    document.write("document.location);
// -->
</script>

bruger bare den istedet :] det ser ud til at virke
Avatar billede dorgbar Nybegynder
09. juli 2004 - 21:30 #16
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester