Og så vil den åbne en ny side - men det skal jo nok ikke printes hele oppe i starten af din html, så du skal nok lige tænke det ind i eksisterende design først :)
Jeg er udemærket klar over at ovenstående er PHP og ikke javascript. Jeg søger dog et javascript som kan ligges ind min PHP kode og gøre jobbet for mig. Jeg har også set at du har lagt et javascript ind i PHP koden netop som jeg efterspurgte. Men det fungere ikke. Jeg har ersattet min linie header("Location: http://primdahl/autmål.php"); med din print "<script type='text/javascript'>window.open('http://primdahl/autmål.php','_blank');</script>"; Der bliver ikke åbnet et nyt vindue.
Jeg køre med IE's indbyggede popupblokker, den er slået fra.
Jeg køre ikke med HTML's <header> og <body> sektioner i PHP da jeg oplever problemer af afsendelse af header på den måde. Derfor starter jeg min kode med <? og slutter med ?> og har ingen tekst udenfor disse.
Sagen er og også den at min kode laver noget kontrol på input data og kun hvis den overholder bestemte regler skal der foretages redirect, derfor kan den jo kun placeres det ene sted.
Men den eksisterende side er jo gået videre til en ny side? Du har allerede trykket på et eller andet og sendt den videre til den nye php-side.
Altså den side, som du kommer fra - den skal lave en popup under nogle omstændigheder med en helt ny side - og under andre omstændigheder skal der ingenting ske?
Som du jo kan se i koden, ($tid <= 60 && $tid >= 1){ $nytid = $tid * $kons; $_SESSION["reload"] = $nytid; header("Location: http://primdahl/autmål.php"); exit; (Hvis alt dette er sandt skal den gå videre til http://primdahl/autmål.php. Det gør den også, MEN det skal bare være i et nyt vindue der poper up.)
}else{ (Ellers skal den udskrive noget tekst som jeg har valgt ikke at medtage her)
Hvis alt det der er sandt, hvad skal den eksisterende side så vise? Duj har jo sendt den videre til en ny side, som så skal lave en popup - men siden bagved skal vel også gøre noget? Og i det 'noget', som den skal gøre, skal du inkludere et stykke javascript, som laver en popup.
Alternativt kunne du allerede fra forrige side lade din formular eller link (eller hvad det måtte være der sendte en til denne side) lave popuppen direkte til den behandlede php-side - så kan resultatet bare printes ud.
Jeg tror stadig ikke du har forstået mit problem. Siden jeg er på http://primdahl/udregn.php med ovenstående kode redirectes til siden http://primdahl/autmaal.php i eksisterende vindue. Siden http://primdahl/autmaal.php skal åbnes i et nyt popup vindue. Forøvrigt køre alle siderne på lokal server så ikke noget med topdomæne og .dk
Jo, jeg forstår det fint. Men når nu du trykker på "submit" i din formular på udregn.php (hvis det er en formular?), hvilken side bliver du så sendt hen til? Submitter den til sig selv? Og hvis data er i orden skal den lave en popup med svaret (og vise sig selv som den hele tiden er ser ud), og hvis data ikke er i orden skal den vise sig selv - med nogle fejlmeddelelser?
Jeg har en side før udregn.php. Her en alm html formular med det indtasningsfelt hvor der skal indtastes et tal mellem 1 og 60. <form action="udregn.php" method="POST"> <-- Herefter sendes man videre til udregn.php hvor der tjekkes om det et tal mellem 1 og 60 der indtastes. Hvis dette ikke er tilfældet bliver man på siden og får en fejlmeddelse. Er det derimod et korrekt tal der indtastes skal man redirectes til autmaal.php i et popup vidue.
Og hvad skal udregn.php så vise hvis data er rigtige? Altså, den laver en popup, der viser svaret - men hvad viser udregn.php nedenunder når man lukker popup'en?
På udregn.php skal det være muligt at kigge på de andre sider der tilknyttet sitet, altså at surfe videre mens popup vinduet nu er åbnet. Udregn.php kan jo fx bare vise en tekst eller redirecte til en anden side.
Præcis. Og det som udregn.php nu en gang skal vise skal inkludere en window.open i sin <body onload> - og så vil din popup blive vist korrekt. Din php kan ikke lave en popup på samme måde som den kan lave en redirect via header. Derfor skal du outputte en htmlside, der inkluderer et javascript der laver en popup.
Hvilket er den information jeg hele tiden har forsøgt at få igennem :)
Du kan for eksempel redirecte til formular.php og gemme info om popup i session - så bliver man sendt tilbage til formularen og popupen bliver lavet ved at undervejs i rendering af din html teste, om der ligger noget i session der vil have en popup.
Du kan også lægge den fladt i script som du har gjort. Det er fint nok.
Men du har vel også en hel masse andet html på formular.htm - som dit javascript skal printes (korrekt) ind i.
Og hvis udregn.php ikke printer noget html (og nej, det laver jo en redirect til formular.htm), så skal den heller ikke printe en body onload selvfølgelig.
formular.htm laver nu en popup inder der trykkes på Set tid. Det bevirker jo så at udregn.php åbnes i popup og ikke kan finde variablen $_POST["tid"] hvilket jo er klart nok efter som den ikke er indtastet endnu. Popup skal først laves når der er trykket på Set tid.
formular.php giver følgende fejl: Parse error: syntax error, unexpected T_VARIABLE in c:\Inetpub\wwwroot\formular.php on line 14 Linje 14: delete $_SESSION['tid']; Hvis linie 14 udkommenteres sker der intet efter indtasning i submit boks.
Du giver mig sgu ikke meget at arbejde med - har du selv forsøgt at debugge det den mindste smule? Lidt mere info kan vel nok lade sig gøre? Prøv at printe nogle variabler rundt omkring og se, om de har de rigtige værdier.
Jeg har faktisk prøvet at debugge en del syntes jeg selv. Men det underlige er jo at der ikke åbner noget popup vindue. Jeg kan se du køre formular som .htm jeg køre den som .php Hvis jeg laver den til .htm skriver den følgende på siden: "; unset($_SESSION['tid']); } ?> lige under boksen. I øvrigt vil jeg mene at ('autmaal.php?tid=".$_SESSION['tid'<-- skal skiftes ud med udregn.php da der først skal regnes lidt på det input der laves iboksen og herefter videre til autmaal.php hvor resultatet skal bruges.
Jeg aner jo ikke hvordan dit system fungerer - men da du har været rundt om udregn.php så kan den jo bare gemme den beregnede værdi i $_SESSION['tid'] som den nu har lyst til at beregne - og først bagefter sendes man tilbage til formular.php (som ikke skal være en .htm nej) og som åbner en popup med den beregnede værdi fra $_SESSION.
Så køre det. Efter en god sammen blanding af din og min kode har jeg fået det hele til at køre efter hensigten. Jeg siger tak for hjælpen og tålmodigheden. Hvis du smider svar er der point. Et sidste spørsmål: Hvordan sætter jeg størrelsen på popup vinduet i linien: print "<script type='text/javascript'>window.open'http://primdahl/autmaal.php','_blank');</script>";
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.