---
title: "Odefinierade varibler"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/16646-odefinierade-varibler"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "wolfangle"
published: "2002-01-31T14:04:00.000Z"
updated: "2002-05-05T09:42:07.000Z"
replies: 26
views: 741
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/16646-odefinierade-varibler"
---

# Odefinierade varibler

_Sida 1 av 2._

## #1 — wolfangle, 2002-01-31T14:04Z

Tja,

Jag vill kunna ta fram användarens IP adress mm. 

Det ska kunna gå med hjälp av:

$REMOTE_ADDR

Jag skriver echo $REMOTE_ADDR; och för följande felmeddelande:

Warning: Undefined variable: REMOTE_ADDR in C:\\rootwww\\global.php on line 3

Något syntax fel gör jag ju men vad?

Permalänk: https://www.webforum.nu/p/16646

## #2 — Kim, 2002-01-31T14:30Z

Kolla i php.ini efter raden
register_globals

Sätt den till On så ska det nog lösa sig.

Permalänk: https://www.webforum.nu/p/326137

## #3 — FlashX, 2002-01-31T22:38Z

eller använd $\_SERVER\[REMOTE_ADDR\] istället och låt register_globals vara Off

Permalänk: https://www.webforum.nu/p/326138

## #4 — bohlin, 2002-02-01T09:52Z

$\_SERVER\[REMOTE_ADDR\] funkar väl bara i 4.1.0, eller?

Permalänk: https://www.webforum.nu/p/326139

## #5 — FlashX, 2002-02-01T12:57Z

Jo, det är riktigt, den fungerar inte på versioner äldre än 4.10 men det gör ju å andra sidan $HTTP_SERVER_VARS\[REMOTE_ADDR\] som dessutom fungerar även i nyare versioner.

Permalänk: https://www.webforum.nu/p/326140

## #6 — Type, 2002-05-03T20:59Z

Varför?

Varför ska man sätta register_globals till On?

Eller rättare sagt varför måste man det?

När jag gjorde det funkade det asbra! Men frågan är varför?
hur ska man annars göra???

/MVH Type

Permalänk: https://www.webforum.nu/p/665301

## #7 — SPiN, 2002-05-03T21:06Z

Man måste inte det, men det är en genväg för att komma åt variabler utanför PHP lättare. Jag brukar låta de vara Off, för att koden ser bättre ut... ;)

Permalänk: https://www.webforum.nu/p/665308

## #8 — Type, 2002-05-03T21:24Z

men hur?

Jag förstår inte hur du menar :(
Asså...
du säger att du låter de vara off.. men hur ska man då kunna definiera variablerna? Vad skriver man.. 

typ motsvarande dim i asp.. eller så..

jag har sökt runt i forumet men inte hittat...

;)

Permalänk: https://www.webforum.nu/p/665330

## #9 — SPiN, 2002-05-03T21:32Z

I PHP behöver man inte dimma, det räcker med att de har ett värde - så är de definierade. :)

Ex. med register_globals = off:

```
<?php
// Servervariabler
echo "Din IP-address: " . $_SERVER[ 'REMOTE_ADDR' ] . "<br />";

// GET-variabler
if ( isset ( $_GET[ 'namn' ] ) && $_GET[ 'namn' ] != "" ) { // Kolla med funktionen isset () om en variabel är satt, dvs. definierad
     echo "Namn från addressfältet: " . $_GET[ 'namn' ] . "<br />";
}
else {
     echo "Inget namn skickades via GET. :(<br />";
}
?>
```

Permalänk: https://www.webforum.nu/p/665344

## #10 — Type, 2002-05-03T21:38Z

kämpigt....

Den där koden verkade inte lätt precis :)

iof är jag glad.. för mitt funkar ju ialla fall! så det är lugnt

Nu till ett annat problem (nu är jag kanske i fel tråd):

Hur skapar man en dsn i iis??? Jag får bara fel...

/  :stud

Permalänk: https://www.webforum.nu/p/665354

## #11 — SPiN, 2002-05-03T21:40Z

Gjorde du så här: <http://www.webforum.nu/showthread.php?s=&postid=350876#post350876> :q

Permalänk: https://www.webforum.nu/p/665357

## #12 — Type, 2002-05-03T21:43Z

Näe

Vad skulle jag göra utan dig???

Ska testa det nu

Sorry  :l

Permalänk: https://www.webforum.nu/p/665359

## #13 — Type, 2002-05-03T21:54Z

näe.. eller jo.. eller det går inte iaf

Nu får jag ett annat felmess...

ett bra felmess tror jag, fast jag vet inte hur jag ska kunna fixa till det :)

```php
<?
if($p=='read')
{
print("du vill läsa gästboken");
$odbcPekare = odbc_connect ( "myDSN", "", "" );
$odbcResult = odbc_exec( $odbcPekare, "SELECT * FROM gastbokdata" );
$i = 0;
while ( $curRow = odbc_fetch_array($odbcResult) ) 
{
echo "<b>Rad " . ++$i . "</b><br />";
echo "Fält 1: " . $curRow[ 'ID' ] . "<br />";
echo "Fält 2: " . $curRow[ 'namn' ] . "<br />";
}
odbc_close ( $odbcPekare );
}
?>
```

 

Felmesset jag får är :

> Fatal error: Call to undefined function: odbc_fetch_array() in C:\\Documents and Settings\\Erik\\Skrivbord\\erik\\gastbok.php on line 15

 

Rad 15 är raden där det står while ( $curRow = odbc_fetch_array($odbcResult) ) 

Tacksam för hjälp  :r

Permalänk: https://www.webforum.nu/p/665370

## #14 — SPiN, 2002-05-03T22:26Z

Vilken version av PHP kör du? Det verkar som att Zend(?) har "tappat bort" den funktionen i 4.1.1 nämligen.

Försök med följande istället: ( Innan while-slingan )

```
<?php
if($p=='read') {
     print("du vill läsa gästboken");

     $odbcPekare = odbc_connect ( "myDSN", "", "" );
     $odbcResult = odbc_exec( $odbcPekare, "SELECT * FROM gastbokdata" );

     $i = 0;

     odbc_fetch_into ( $odbcResult, &$odbcFetching );
     while ( $curRow = array_slice ( $odbcFetching ) ) {
          echo "<b>Rad " . ++$i . "</b><br />";
          echo "Fält 1: " . $curRow[ 0 ] . "<br />";
          echo "Fält 2: " . $curRow[ 1 ] . "<br />";
     }

     odbc_close ( $odbcPekare );
}
?>
```

Märk att du måste använda index-numrena när du hämtar värden från aktuell rad. Du kan komma undan med det genom att skriva en liten funktion som gör om till en associativ array. :)

Permalänk: https://www.webforum.nu/p/665378

## #15 — Type, 2002-05-03T22:32Z

Det gick inte heller....

Det går inte heller.... felet blir nu:

> Warning: Wrong parameter count for array_slice() in C:\\Documents and Settings\\Erik\\Skrivbord\\erik\\gastbok.php on line 17

 

Måste man krångla till det så till den milda grad??

Permalänk: https://www.webforum.nu/p/665382

## #16 — SPiN, 2002-05-03T22:38Z

Jag hade inget bättre för mig, så jag skrev ihop en liten funktion:

```
if ( !function_exists ( odbc_fetch_array ) ) {
     function odbc_fetch_array ( $odbcResult ) {
          odbc_fetch_into ( $odbcResult, &$odbcFetching );

          foreach ( $odbcFetching as $key => $odbcValue ) {
               $odbcFetchedArray[ odbc_field_name ( $odbcResult, $key + 1 ) ] = $odbcValue;
          }
          return $odbcFetchedArray;
     }
}
```

Red.} Hittade en skön foreach-slinga på PHP.net som var smidig. :)

Permalänk: https://www.webforum.nu/p/665396

## #17 — Type, 2002-05-03T22:41Z

\*lol\*

Problemet är att jag inte vet hur jag ska använda funktionen  :e

Permalänk: https://www.webforum.nu/p/665401

## #18 — SPiN, 2002-05-03T23:00Z

Hm, jag har nu kollat och kollat på PHP.net för att hitta enkla lösningar och funktioner för ODBC, men jag märker bara att det blir krångligare och krångligare. :l

Eftersom att du är nybörjare så ska jag visa ett exempel på hur du använder COM mot Access, som nicclas också visade högre upp i förra tråden... Det är ivf lite enklare att förstå och ta till sig förhoppningsvis.

```
<?php
$comConnection = new COM ( "ADODB.Connection" );
$comConnection->Open ( "DSN=myDSN" );
$comRecordset = $comConnection->Execute ( "SELECT ID, [namn] FROM gastbokdata" );

$rowCounter = 0;

while ( !$comRecordset->EOF ) {
     echo "Rad: " . ++$rowCounter . "<br />";
     echo "ID: " . $comRecordset->Fields ( 0 );
     echo "Namn: " . $comRecordset->Fields ( 1 );

     $comRecordset->MoveNext ();
}

$comRecordset->Close ();
$comConnection->Close ();
```

Samma sak gäller dock här, du måste veta index-numrena på de fält du ska skriva ut. :l
Ska se om jag kan hitta en vettig funktion alternativt skriva en egen för att skapa en associativ array... :)

Permalänk: https://www.webforum.nu/p/665415

## #19 — Type, 2002-05-03T23:05Z

Jag ska ta o fundera kring detta...

Jag måste ta o sova nu. är jättetrött..

tack för all hjälp! du har verkligen varit till stor hjälp, känns som att jag inte skulle klara det utan guide....

TACK! /  ;)

Permalänk: https://www.webforum.nu/p/665421

## #20 — SPiN, 2002-05-03T23:38Z

Såg nu en miss jag hade gjort i ett inlägg här över, hade använt fel funktion... :r

Försök med följande kod, så kanske du får ODBC att fungera:

```
<?php
if($p=='read') {
     print("du vill läsa gästboken");

     $odbcPekare = odbc_connect ( "myDSN", "", "" );
     $odbcResult = odbc_exec( $odbcPekare, "SELECT * FROM gastbokdata" );

     $i = 0;

     odbc_fetch_into ( $odbcResult, &$odbcFetching );
     while ( $curRow = array_shift ( $odbcFetching ) ) {
          echo "<b>Rad " . ++$i . "</b><br />";
          echo "Fält 1: " . $curRow[ 0 ] . "<br />";
          echo "Fält 2: " . $curRow[ 1 ] . "<br />";
     }

     odbc_close ( $odbcPekare );
}
?>
```

Koden är från inlägg: <http://www.webforum.nu/showthread.php?s=&postid=351783#post351783>
Använde tydligen array_slice () istället för array_shift (), som bör användas... \*trött\*

Permalänk: https://www.webforum.nu/p/665429

---

Tråden på webben: https://www.webforum.nu/amne/php/16646-odefinierade-varibler  
Nästa sida: https://www.webforum.nu/amne/php/16646-odefinierade-varibler/page2.md
