Avatar billede dtloh Nybegynder
22. maj 2004 - 08:01 Der er 8 kommentarer

spørgsmål til variabler

Jeg har på en af mine sider:
----------------------------
$link = mysql_connect('xxx', 'xxx', 'xxx');
  if (!$link) {
    die($besked = $besked . "SQL forbindelse kunne ikke oprettes: " . mysql_error() . "<br><br>");
  }
else;
  $besked = "SQL forbindelse oprettet.<br><br>";

header("Location side2.php")
----------------------------

Mit problem er nu, at jeg på side2 gerne vil have vist $besked, men der sker intet ved at skrive "echo $besked". Hvad kan jeg gøre, for at kunne sende fra en side til en anden?
Avatar billede riversen Nybegynder
22. maj 2004 - 08:18 #1
$_SESSION["besked"] = $besked;

og så på side 2
echo $_SESSION["besked"];

husk for at bruge session variabler, skal du lige kalde session_start() først på siden
Avatar billede dtloh Nybegynder
22. maj 2004 - 08:36 #2
hvordan kalder jeg på session_start()

Jeg har skrevet følgende:

side1.php
----------------------------
<?php
session_start()

$link = mysql_connect('xxx', 'xxx', 'xxx');
  if (!$link) {
    die($_SESSION["besked"] = $_SESSION["besked"] . "SQL forbindelse kunne ikke oprettes:<br>&nbsp;<font face='Wingdings 3'>9</font> " . mysql_error());
  }
  else;
    $_SESSION["besked"] = "SQL forbindelse oprettet.<br><br>";
    header("Location: side2.php");
?>
----------------------------
side2.php
<?php
session_start()
if (!$_SESSION["besked"] = "") {
  echo $_SESSION["besked"];
  }
else;
  echo "Det virker ikke.";
?>
----------------------------
Jeg får følgende:
----------------------------
Warning: session_start(): open(C:\Programmer\PHP\sessiondata\sess_dae222d639281b7d518c67c8270d3f53, O_RDWR) failed: Permission denied (13) in E:\test\side2.php on line 2

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at E:\test\sidel:2) in EE:\test\sidel on line 2

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at E:\test\sidel:2) in E:\test\sidel on line 2
Avatar billede sukos Juniormester
22. maj 2004 - 09:35 #3
I din php.ini, skal du finde
session.save_path
og definere den til et dir som rent faktisk findes-

<?php
session_start()

$link = mysql_connect('xxx', 'xxx', 'xxx');
  if (false == $link) {
    $_SESSION["besked"] = "SQL forbindelse kunne ikke oprettes:<br>&nbsp;<font face='Wingdings 3'>9</font> " . mysql_error());
  }
  else
  {
    $_SESSION["besked"] = "SQL forbindelse oprettet.<br><br>";
}
    header("Location: side2.php");
?>
----------------------------
side2.php
<?php
session_start()
if (isset($_SESSION["besked"])) {
  echo $_SESSION["besked"];
  }
else
  {
  echo "Det virker ikke.";
}

?>
Avatar billede jakoba Nybegynder
22. maj 2004 - 11:25 #4
eksisterer den der sql connection virkelig stadig når du ankommer til side2 ? Jeg ville forvente den forsvandt så snart du redirectede.

så jeg vil forslå en include istedetfor.

$link = mysql_connect('xxx', 'xxx', 'xxx');
  if (!$link) {
    die($besked = $besked . "SQL forbindelse kunne ikke oprettes: " . mysql_error() . "<br><br>");
  }
else                                              // fjernet ';'
  $besked = "SQL forbindelse oprettet.<br><br>";

include("side2.php");  // i scriptet i side2.php kan du benytte $besked normalt

mvh JakobA
Avatar billede dtloh Nybegynder
22. maj 2004 - 11:34 #5
Referencen til mappe eksisterede allerede, hvilket mappen også gjorde.

Jeg skriver:
-------------------
<?php
  session_start()
   
  $link = mysql_connect('localhost', 'root', 'zoroaster');
  if (false == $link) {
    $_SESSION["besked"] = "SQL forbindelse kunne ikke oprettes:<br>&nbsp;<font face='Wingdings 3'>9</font> " . mysql_error();
  ...
  ...
  ...
-------------------
Jeg får nu:
-------------------
Parse error: parse error, unexpected T_VARIABLE in E:\test\2.php on line 4

Line 4:
    $_SESSION["besked"] = "SQL forbindelse kunne ikke oprettes:<br>&nbsp;<font face='Wingdings 3'>9</font> " . mysql_error();
Avatar billede tomat-ketchup Nybegynder
22. maj 2004 - 17:43 #6
Du mangler ; efter session_start() :

session_start();
Avatar billede dtloh Nybegynder
22. maj 2004 - 18:24 #7
jeg får stadig det samme:
Warning: session_start(): open(C:\Programmer\PHP\sessiondata\sess_dae222d639281b7d518c67c8270d3f53, O_RDWR) failed: Permission denied (13) in E:\test\side2.php on line 2

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at E:\test\sidel:2) in EE:\test\sidel on line 2

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at E:\test\sidel:2) in E:\test\sidel on line 2
Avatar billede dtloh Nybegynder
24. maj 2004 - 16:51 #8
Nå jeg fandt svaret. Det var fordi iis gæstekontoen ikke havde skrive adgang til php temp mappen. Læs mere her:
http://p2p.wrox.com/topic.asp?TOPIC_ID=8046

Tomat kom med et svar, så får du dine points.
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