Avatar billede jjdk Nybegynder
03. august 2005 - 20:19 Der er 29 kommentarer og
1 løsning

Kode til åbning af nyt vindue m.m

I forlængelse af spørgsmålene i dette link:
http://www.eksperten.dk/spm/636660
Har jeg lige 1 til:
Jeg får vist en liste hentet i Mysql, hvor jeg ud for hver post, har mulighed for at klikke på et link.
Hvordan åbner jeg linket i et nyt vindue, samtidig med, at jeg får felterne med over fra den post, hvor linket tilhørte. Herved kan jeg eksempvis opstille detaljer i det nye vindue på den valgte post.
Altså 2 spørgsmål:
1. Kode til hvordan jeg åbner linket i et nyt vindue
2. Kode i det nye vindue, som kan anvende felterne fra den post, jeg valgte i det oprindelige vindue.
Se evt. det foreløbige arbejde:
www.fdf.dk/esbjerg1/leder1.php
Avatar billede jaw Nybegynder
03. august 2005 - 20:23 #1
Hvis jeg forstår dig ret, så skal du smide felterne i adresselinien eller bruge sessions. Men det er ikke sådan, at du kan hente dem på ny fra databasen udfra et id eller lign.?

echo"<a href='fil.php?navn=".$_POST['navn']."&amp;adresse=".$_POST['adresse']."' target=_blank>Klik her</a>";

Hvis det er det du mener?
Avatar billede jjdk Nybegynder
03. august 2005 - 20:32 #2
Jeg tror du er inde på noget af det rigtige - jeg prøver lige om jeg kan få det til at virke.
Avatar billede jjdk Nybegynder
03. august 2005 - 20:37 #3
Jeg får fejl:
Hvar betyder "&amp" i kodelinjen?
Avatar billede jjdk Nybegynder
03. august 2005 - 20:41 #4
Kodelinjen ser sådan her ud:

print "<td>"<a href='index.php?navn=".$_POST['navn']." &amp;adresse=".$_POST['adresse']."' target=_blank>Klik her</a>"</td>\n";
Avatar billede jaw Nybegynder
03. august 2005 - 20:42 #5
&amp; er html's måde at skrive &-tegnet på. Du kan godt prøve bare med &-tegnet, men så vil en HTML-validator (f.eks. WC3) brokke sig. Og hvad er det for en fejl du får?
Avatar billede jaw Nybegynder
03. august 2005 - 20:42 #6
Men du har et " for meget efter <td> - det bliver du lige nødt til at fjerne...
Avatar billede jjdk Nybegynder
03. august 2005 - 20:47 #7
Det hjalp ikke. Prøv at se de andre kodelinjer med funktionen "print" i sp. 636660. Her står eksempelvis:

print "<td>" .'<font face="Arial" size="2">' . $row["navn"] . "</td>\n";
Avatar billede jaw Nybegynder
03. august 2005 - 20:48 #8
Det vil jeg så også mene er forkert, korrekt er:

print "<td><font face='Arial' size='2'>" . $row['navn'] . "</td>\n";
Avatar billede jjdk Nybegynder
03. august 2005 - 20:51 #9
Ikke desto mindre - så virker det.
Hvis jeg fjerner 1 anførselstegn, som du angiver, er der et ulige antal.
Avatar billede jjdk Nybegynder
03. august 2005 - 20:52 #10
Fejlen kan du se på www.fdf.dk/esbjerg1/ledertest.php
Avatar billede jjdk Nybegynder
03. august 2005 - 20:58 #11
Jeg prøvede at lægge din kode ind i HTML-delen. Det ser ikke helt rigtigt ud.
www.fdf.dk/esbjerg1/ledertest1.php
Avatar billede jaw Nybegynder
03. august 2005 - 21:04 #12
Nej, det er lidt klart. Du skal være i et php-tag <? ?> for at kunne bruge PHP.

Altså:
<?
echo"<a href='fil.php?navn=".$_POST['navn']."&amp;adresse=".$_POST['adresse']."' target=_blank>Klik her</a>";
?>
Avatar billede jaw Nybegynder
03. august 2005 - 21:04 #13
Og der må ikke være ulige anførselstegn, så er noget gået galt :)
Paste lige linie 82 og 83.
Avatar billede jjdk Nybegynder
03. august 2005 - 22:12 #14
Du får lige lidt flere linjer - både før og efter:

// Her tjekkes om der er skrevet noget i fotosti-feltet. Hvis ikke, skal der ikke vises grafik   
  if($row["fotosti"] != "") {
    print "<td bgcolor='white'><a href='./fotoarkiv/ledere/" . $row["fotosti"] . "'><img src='./grafik/kamera.gif' border=0></a></td>\n";
  } else {
    print "<td bgcolor='white'></td>\n";
  }     
print "<td>"<a href='index.php?navn=".$_POST['navn']."&amp;adresse=".$_POST['adresse']."' target=_blank>Klik her</a>"</td>\n";

    print "</tr>\n";
}
Avatar billede jaw Nybegynder
03. august 2005 - 22:56 #15
Sådan vil jeg mene:

// Her tjekkes om der er skrevet noget i fotosti-feltet. Hvis ikke, skal der ikke vises grafik   
  if($row["fotosti"] != "") {
    print "<td bgcolor='white'><a href='./fotoarkiv/ledere/" . $row['fotosti'] . "'><img src='./grafik/kamera.gif' border=0></a></td>\n";
  } else {
    print "<td bgcolor='white'></td>\n";
  }     
print "<td><a href='index.php?navn=".$_POST['navn']."&amp;adresse=".$_POST['adresse']."' target=_blank>Klik her</a></td>\n";

    print "</tr>\n";
}
Avatar billede jjdk Nybegynder
04. august 2005 - 00:12 #16
OK - det virker nu som det skal i hoveddokumentet.
Hvordan anvender jeg så variablerne i Pop-up vinduet? Skal det være i html eller PHP.
Har du et kort eksempel? Og hvis du ved det, kan jeg så i popupvinduet fjerne menulinje, værktøjslinjer osv, så jeg kun viser et fast vindue med oplysninger?
Giver du et svar - så du kan få nogle fortjente point.
Og tak for din tålmodighed.
Avatar billede jjdk Nybegynder
04. august 2005 - 00:22 #17
Det virker alligevel ikke helt. Det ser ikke ud til, at den får felt værdierne med over i det nye vindue.
Jeg har ellers feltnavne der hedder "navn" og "adresse".
Tjek evt. på www.fdf.dk/esbjerg1/ledertest.php
Avatar billede jjdk Nybegynder
04. august 2005 - 00:33 #18
Nu har jeg værdier med over. Jeg skulle lige ændre $_post['navn'] til $row['navn'].
Men jeg kan stadig ikke finde ud af, hvordan jeg anvender variablerne i pop-up vinduet.
Avatar billede jaw Nybegynder
04. august 2005 - 11:43 #19
Du anvender dem som $_GET['navn'] osv. Ang. menulinier etc., så kan de fjernes, men så skal vi ud i noget javascript. Ser lige om jeg har et eksempel et sted...
Avatar billede jjdk Nybegynder
04. august 2005 - 12:23 #20
Jeg har et script jeg anvender i nogle html-dokumenter, men det kniber for mig at integrere det i PHP-afsnittet.
Må jeg vise dig scriptet her og du evt. kan komme med et eksempel på, hvordan jeg integrerer det i PHP-delen?
Avatar billede jaw Nybegynder
04. august 2005 - 12:52 #21
Jow, jow !
Avatar billede jjdk Nybegynder
04. august 2005 - 14:07 #22
I Head-afsnittet:

<SCRIPT>
<!--
function displayWindow(url, width, height) {
        var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=no,menubar=no,status=no' );
}
//-->
</SCRIPT>

Og i Body-afsnittet:

  <a href="java script:displayWindow('./fotos/stor<?= $week ?>.jpg',500,500)">Klik her for stort foto</a>
Avatar billede jjdk Nybegynder
04. august 2005 - 14:13 #23
Og jeg kan heller ikke få det til at virke med $_GET. Jeg har skrevet følgende:

<?php
    print "Navnet er: <b>".$_Get['navn']."</b>";
?>
Avatar billede jaw Nybegynder
04. august 2005 - 15:06 #24
Du skal bruge $_GET['navn'] ikke $_Get - case sensitive...

<?
echo "<a href=\"java script:displayWindow('./fotos/stor$week.jpg',500,500)">Klik her for stort foto</a>";
Avatar billede jjdk Nybegynder
04. august 2005 - 18:13 #25
Så fik jeg også $_GET til at virke.

Jeg får fejl med javascriptet på www.fdf.dk/esbjerg1/ledertest.php, som jeg i første omgang lige afprøver i pop-up vinduet.

Koden ser sådan her ud:

<SCRIPT>
<!--
function displayWindow(url, width, height) {
        var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=no,menubar=no,status=no' );
}
//-->
</SCRIPT>
<?php
    print "Navnet er: <b>".$_GET['navn']."</b>";
    print "Aderessen er: <b>".$_GET['adresse']."</b>";
echo "<a href=\"java script:displayWindow('./fotos/stor$week.jpg',500,500)">Klik her for stort foto</a>"; 
?>
Avatar billede jaw Nybegynder
04. august 2005 - 18:18 #26
Prøv:
echo "<a href=\"java script:displayWindow('./fotos/stor$week.jpg',500,500)\">Klik her for stort foto</a>"; 

Havde lige overset en \.
Avatar billede jjdk Nybegynder
04. august 2005 - 18:32 #27
Så er ved at være der. Lige en sidste ting.
Jeg har hidtil anvendt syntaxen herunder med anførselstegn rundt om <td>- se her

    print "<td>" .'<font face="Arial" size="2">' . $row["patrulje"] . "</td>\n";

Du skriver det på denne måde:

    print "<td><a href='nytvindue.php?navn=".$row['navn']."&amp;..............

Jeg skal have skrifttypen ændret i linket lige herover, men får fejl, når jeg skriver:

  print "<td><font face="Arial" size="2"><a href='nytvindue.php?navn=".$row['navn']."&amp;..............

Nu må du hellere sende et svar.
Endnu engang - tusind tak for din store hjælp og tålmodighed.
Avatar billede jaw Nybegynder
04. august 2005 - 18:37 #28
Jep, den syntaks du selv brugte virkede den?
Anyhoo, så er der forskel på om du bruger " eller '. Når du påbegynder en php-funktion skal den startes med enten ' eller " - lige gyldigt hvilken. Når du så bruger HTML i funktionen skal du bruge det modsatte tegn - ellers vil PHP tro, at du afslutter funktionen (eller hopper ud af den), hvilket jo ikke er tilfældet.

Altså:
echo"<a href='hest.php'>";  <- " benyttes
echo'<a href="hest.php">';  <- ' benyttes

Der er også en tredje mulighed, nemlig at backslash'e:
echo "<a href=\"hest.php\">"; <- benyttes f.eks. i dit javascript-popup da du bruger både " og ' i din HTML-kode.

Forståeligt :) ?

Og selv tak, nu svarer jeg :)

Og til en anden gang, burde dette spørgsmål nok have været i PHP-kategorien, da vi ikke har berørt MySQL synderligt meget. Jeg har dog kun netop opdaget hvilken kategori vi er i, så nu kan det vist være ligemeget :)
Avatar billede jjdk Nybegynder
04. august 2005 - 18:45 #29
Syntaksen virker (det er arne_v, der har hjulpet).
Jeg troede faktisk, at jeg havde oprettet spørgsmålet under PHP.
Jeg forstå din vejledning, men kan alligevel ikke få det til at virke, ved at jeg indsætter en anden skrifttype. Jeg indsætter:

<font face="Arial" size="2">

lige efter

print "<td>
Avatar billede jaw Nybegynder
04. august 2005 - 18:53 #30
Ja ok, der skal du så enten:
print"<td>".'<font face="Arial" size="2">
eller (som jeg foretrækker, da jeg synes den forvirrer mindst muligt)
print"<td><font face='Arial' size='2'>
eller
print"<td><font face=\"Arial\" size=\"2\">
eller
print'<td><font face="Arial" size="2">
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
Computerworld tilbyder specialiserede kurser i database-management

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