Avatar billede trevi Nybegynder
25. april 2005 - 12:10 Der er 17 kommentarer og
1 løsning

hvorfor åbner den ikke vindue?

Hej alle sammen.

hvorfor virker dette nu ikke? det har det lige gjort, synes ik jeg har ændret noget?

<form method="post" action="" target="_blank">
Bruger nummer/ User number (ex. 45985)<br>
                    <input name="name" type="text" size="5" maxlength="5">
<br><br>
<select name="pis">
                      <option selected>Sprog/Language</option>
                      <option value="DK">Dansk</option>
                      <option value="US">English</option>
                    </select>

<br>
                    <input type="submit" name="skema" value="Go">
</form>

<?php
$location = NULL;
if(isset($_POST["name"]) && $_POST["name"]) {
$location = "http://xxx.xxx.dk/xxx/";
$location .= $_POST["name"];
$location .= "/en-";
if(isset($_POST["pis"]) && $_POST["pis"]) {
$location .= $_POST["pis"];
$location .= ".aspx";
}
header("Location:".$location."");
}
?>
Avatar billede barklund Nybegynder
25. april 2005 - 12:23 #1
Hvordan "virker ikke"?

De tre spørgsmål, som man altid bør besvare, er:

- Hvilket resultat forventer du
- Hvilket resultat får du (mod forventning) - og eventuelle fejlmeddelelser
- Hvad har du gjort for at løse problemet

--
Morten Barklund
Avatar billede heden Nybegynder
25. april 2005 - 12:28 #2
ah, ja sorry, det gik lidt for hurtigt med at skrive den..den fejl den siger er:

Warning: Cannot modify header information - headers already sent by (output started at x:\xxxx\xxx\xxx\xxxx\xxx\httpdocs\xxx\xxx\xxx.php:7) in x:\xxxx\xxxx\xxxx\xxx\casper1\xxxx\xxxx\xxx\xxx.php on line 130

Den skal poppe op og åbne $location = "http://xxx.xxx.dk/xxx/"; derefter skal den tage hvad der står i $name og sætte ind efter / .. og så kommer den sidste ting /en-.aspx
Avatar billede trevi Nybegynder
25. april 2005 - 12:29 #3
Argh, det er til at blive idiot af når man skal dele pc med en anden der også er herinde !!!! .. det er mig der skrev den besked ovenover!
Avatar billede barklund Nybegynder
25. april 2005 - 12:35 #4
Så har du altså allerede sendt noget output i filen. Hvis ovenstående er en stor fil, så flyt selve <?php ?>-delen op øverst. Og skriv exit; efter din header. Lidt indentering vil du også blive glad for - så er det nemmere at overskue:

<?php
$location = NULL;
if(isset($_POST["name"]) && $_POST["name"]) {
  $location = "http://xxx.xxx.dk/xxx/";
  $location .= $_POST["name"];
  $location .= "/en-";
  if(isset($_POST["pis"]) && $_POST["pis"]) {
    $location .= $_POST["pis"];
    $location .= ".aspx";
  }
  header("Location:".$location."");
  exit;
}
?>
<form method="post" action=" target="_blank">
Bruger nummer/ User number (ex. 45985)<br>
                    <input name="name" type="text" size="5" maxlength="5">
<br><br>
<select name="pis">
                      <option selected>Sprog/Language</option>
                      <option value="DK">Dansk</option>
                      <option value="US">English</option>
                    </select>

<br>
                    <input type="submit" name="skema" value="Go">
</form>
Avatar billede trevi Nybegynder
25. april 2005 - 12:44 #5
Okay, men så virker form jo ikke?
Avatar billede barklund Nybegynder
25. april 2005 - 12:46 #6
Hvorfor ikke?
Avatar billede trevi Nybegynder
25. april 2005 - 12:53 #7
Det ved jeg ik :) .. den siger:

http://xxxx/xxxx/xxxx/target=

når jeg trykker Go
Avatar billede barklund Nybegynder
25. april 2005 - 13:00 #8
Okay? Men du har jo heller ingen action? altså oppe i din originale form har du bare slettet action - det skal du lige indsætte igen.

Og hvis det er to forskellige filer, så del det op i to filer igen.
Avatar billede trevi Nybegynder
25. april 2005 - 13:04 #9
Ja fandt os lige fejlen.. der manglede en " oppe i action .. men den siger stadig det der med Warning: Cannot modify header information - headers already sent by (output started at x:\xxxx\xxx\xxx\xxxx\xxx\httpdocs\xxx\xxx\xxx.php:7) in x:\xxxx\xxxx\xxxx\xxx\casper1\xxxx\xxxx\xxx\xxx.php on line 130 nu er det på linie 113 og det er stadig:

  header("Location:".$location."");
Avatar billede barklund Nybegynder
25. april 2005 - 13:06 #10
Du skal have <?php ?> _øverst_ i filen. Ikke nede i midten.
Avatar billede barklund Nybegynder
25. april 2005 - 13:06 #11
Du må ikke (som fejlen jo siger) outputte noget som helst før du kalder header()
Avatar billede trevi Nybegynder
25. april 2005 - 13:11 #12
Så dvs at
            <?php
$location = NULL;
if(isset($_POST["name"]) && $_POST["name"]) {
$location = "http://skema.ots.dk/elev/";
  $location .= $_POST["name"];
  $location .= "/en-";
  if(isset($_POST["pis"]) && $_POST["pis"]) {
    $location .= $_POST["pis"];
    $location .= ".aspx";
  }
  header("Location:".$location."");
  exit;
}
?>

skal helt op i toppen .. eller kun

            <?php
$location = NULL;
if(isset($_POST["name"]) && $_POST["name"]) {
$location = "http://skema.ots.dk/elev/";
  $location .= $_POST["name"];
  $location .= "/en-";
  if(isset($_POST["pis"]) && $_POST["pis"]) {
    $location .= $_POST["pis"];
    $location .= ".aspx";
  }
}
?>

?
Avatar billede barklund Nybegynder
25. april 2005 - 13:25 #13
Bare din header kommer før noget som helst output - så kan du vel selv gætte dig til det ;)
Avatar billede trevi Nybegynder
25. april 2005 - 13:33 #14
Ja nemlig.. derfor fatter jeg ikke hvorfor det ik virker.. !!

siden:

<?php include("tjek_log.php"); ?>
            <?php
$location = NULL;
if(isset($_POST["name"]) && $_POST["name"]) {
$location = "http://xxxx/xxxxx/";
  $location .= $_POST["name"];
  $location .= "/en-";
  if(isset($_POST["pis"]) && $_POST["pis"]) {
    $location .= $_POST["pis"];
    $location .= ".aspx";
  }
  header("Location:".$location."");
  exit;
}
?>
<html>
<head>
<title>Web-integration</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../css/css.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.toptekst {
    color: #666666;
}
-->
</style>
</head>
<script>
    var laere = "Lærere login";
    var elev = "Elev login";
    var logud = "Logud";
    var text = "";
    function changeText(type){
        objTextChanger = document.getElementById("text");
        switch(type){
        case "laere":
            objTextChanger.innerHTML = laere;
            break;
        case "elev":
            objTextChanger.innerHTML = elev;
            break;
        case "logud":
            objTextChanger.innerHTML = logud;
            break;
      case "text":
            objTextChanger.innerHTML = text;
            break;
        }
    }
</script>
<body>
<table width="749"  border="0" align="center" cellpadding="0" cellspacing="0" class="kant">
  <tr>
    <td><div align="center"><img src="../gfx/logo.JPG" width="748" height="100"></div></td>
  </tr>
</table>
<table width="750" border="0" align="center" cellpadding="0" cellspacing="0" class="kant">
  <tr>
    <td valign="top" bgcolor="#CCCCCC" class="top">&nbsp;</td>
    <td width="56%" align="right" valign="top" bgcolor="#CCCCCC" class="toptekst" id="text">&nbsp;</td>
    <td width="24%" valign="top" bgcolor="#CCCCCC" class="top"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td onMouseOver="changeText('laere');" onmouseout="changeText('text','')"><div align="center"><a href="../laere"><img src="../gfx/laere.gif" width="15" height="14" border="0"></a></div></td>
          <td onMouseOver="changeText('elev');" onmouseout="changeText('text','')"><div align="center"><a href="../elev"><img src="../gfx/elev.gif" width="15" height="14" border="0"></a></div></td>
          <td onMouseOver="changeText('logud');" onmouseout="changeText('text','')"><div align="center"><a href="logud.php"><img src="../gfx/logud.gif" width="15" height="14" border="0"></a></div></td>
        </tr>
      </table></td>
  </tr>
  <tr>
    <td width="20%" height="384" valign="top" class="kant2"> <table width="150" border="0" cellpadding="8" cellspacing="0">
        <tr>
          <td width="150" height="111" valign="top"><br> <table width="150" border="0" align="left" cellpadding="0" cellspacing="0">
              <tr>
                <!-- edit links here -->
                <td width="150"><img src="../images/pil_s.gif" width="4" height="6" hspace="4"><a href="../index.php">Forside</a></td>
              </tr>
              <tr>
                <td><img src="../images/pil_s.gif" width="4" height="6" hspace="4"><a href="../info.php">Info</a></td>
              </tr>
              <tr>
                <td><img src="../images/pil_s.gif" width="4" height="6" hspace="4"><a href="../elev.php">Elev
                  side </a></td>
              </tr>
              <tr>
                <td><img src="../images/pil_s.gif" width="4" height="6" hspace="4"><a href="../links.php">Links</a></td>
              </tr>
              <tr>
                <td><img src="../images/pil_s.gif" width="4" height="6" hspace="4"><a href="../kontakt.php">Kontakt</a></td>
              </tr>
            </table></td>
        </tr>
        <tr>
          <td height="105" valign="top"> <br>
            <table width="150" border="0" align="left" cellpadding="0" cellspacing="0">
              <tr>
                <!-- edit links here -->
                <td width="150"><img src="../images/pil_s.gif" width="4" height="6" hspace="4"><a href="skema.php">Skema</a></td>
              </tr>
              <tr>
                <td><img src="../images/pil_s.gif" width="4" height="6" hspace="4"><a href="elev.php">Elev
                  side </a></td>
              </tr>
              <tr>
                <td><img src="../images/pil_s.gif" width="4" height="6" hspace="4"><a href="laere.php">L&aelig;re
                  oversigt </a></td>
              </tr>
            </table> </td>
        </tr>
      </table></td>
    <td colspan="2" valign="top" bgcolor="#EFEFEF" class="rubrik"> <table width="100%" border="0" align="center" cellpadding="5" cellspacing="0">
        <tr>
          <td width="400" valign="top" bgcolor="#956B42"> <p class="style1"> <font size="1">Skema.</font></p></td>
        </tr>
        <tr>
          <td height="126" valign="top">
            <form method="post" action="" target="_blank">
              <div align="center">Bruger nummer/ User number (ex. 45985)<br>
                <input name="name" type="text" size="5" maxlength="5">
                <br>
                <br>
                <select name="pis">
                  <option selected>Sprog/Language</option>
                  <option value="DK">Dansk</option>
                  <option value="US">English</option>
                </select>
                <br>
                <input type="submit" name="skema" value="Go">
              </div>
            </form>&nbsp; </td>
        </tr>
      </table>
     
    </td>
  </tr>
</table>
<table width="750" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><div align="center">Copyright by web-integration 2004-2005</div></td>
  </tr>
</table>
</body>
</html>
Avatar billede barklund Nybegynder
25. april 2005 - 13:47 #15
Der er jo et linjeskift? Efter den første blok php-kode:

<?php include("tjek_log.php"); ?>

Så kommer der et linjeskift og nogle mellemrum ned til den næste blok:

    <?php

Og det er output. Derudover fortæller fejlen dig også, præcist hvor, der er kommet output. Så kan du jo bare finde det sted.

Lav det om til

<?php
include("tjek_log.php");
$location = NULL;
...

Så er der intet output før din header.

--
Morten Barklund
Avatar billede trevi Nybegynder
25. april 2005 - 13:52 #16
Ja tak. så virker det :D:D.. tusind tak !
Avatar billede trevi Nybegynder
25. april 2005 - 13:52 #17
-lukket-
Avatar billede barklund Nybegynder
25. april 2005 - 14:01 #18
Yeshyesh, tark for 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