Avatar billede techboy992 Praktikant
28. oktober 2012 - 13:27 Der er 30 kommentarer og
1 løsning

Javascript window open in PHP script

Jeg vil gerne indsaette dette script:
<script type="text/javascript">
<!--
  var stile = "top=10, left=10, width=600, height=800 status=no, menubar=no, toolbar=no scrollbar=no";
    function Popup(apri) {
        window.open(apri, "", stile);
    }
//-->
</script>
<a href="java script:Popup('YOURPAGE.html')">show popup</a>


Ind i mit eksisterende script:
<?php
error_reporting(E_ALL ^ E_NOTICE);
define('IN_SCRIPT',1);

/* Get settings from the settings.php file */
require 'settings.php';

/* Get database connection from the database.php file */
require 'database.php';

/* Start user session or output an error */
session_name('CCOUNT');
if (!session_start()) {
    error('Cannot start a new PHP session. Please contact server administrator or webmaster!');
}
echo '<hr>';
mysql_select_db("some database", $con);
// Edit this number to however many links you want displaying
$num_displayed = 25 ;

//Finding the users folder
$folder = $settings['user_id'];

// Make the systems links
$result = mysql_query ("SELECT * FROM Click  LIMIT $num_displayed");
while ($row = mysql_fetch_array($result))
echo '<center><font size="3">| <a href="'.$row["link1"].'/system/'.$folder.'/click.php?id='.$row["link2"].'" target="_blank">Click me-'.$row["link2"].'</a> |</font></center>';

mysql_close($con);
?>
Scriptet skal kunne fungere som det goer nu med listen af links.

demo http://www.awc24h.com/test
Avatar billede rix Praktikant
28. oktober 2012 - 15:24 #1
Er ikke sikker på hva du mener. men hvis du mener at man skal bruge den js. function til at åbne win. på så gøres det sådan


Ind i mit eksisterende script:
<?php
error_reporting(E_ALL ^ E_NOTICE);
define('IN_SCRIPT',1);

/* Get settings from the settings.php file */
require 'settings.php';

/* Get database connection from the database.php file */
require 'database.php';

/* Start user session or output an error */
session_name('CCOUNT');
if (!session_start()) {
    error('Cannot start a new PHP session. Please contact server administrator or webmaster!');
}
echo '<hr>';
mysql_select_db("some database", $con);
// Edit this number to however many links you want displaying
$num_displayed = 25 ;

//Finding the users folder
$folder = $settings['user_id'];

// Make the systems links
$result = mysql_query ("SELECT * FROM Click  LIMIT $num_displayed");
while ($row = mysql_fetch_array($result))
echo '<center><font size="3">| <a href="java script:Popup('.$row["link1"].'/system/'.$folder.'/click.php?id='.$row["link2"].')" target="_blank">Click me-'.$row["link2"].'</a> |</font></center>';

mysql_close($con);
?>
Avatar billede rix Praktikant
28. oktober 2012 - 15:32 #2
Ups

<?php
error_reporting(E_ALL ^ E_NOTICE);
define('IN_SCRIPT',1);

/* Get settings from the settings.php file */
require 'settings.php';

/* Get database connection from the database.php file */
require 'database.php';

/* Start user session or output an error */
session_name('CCOUNT');
if (!session_start()) {
    error('Cannot start a new PHP session. Please contact server administrator or webmaster!');
}
echo '<hr>';
mysql_select_db("some database", $con);
// Edit this number to however many links you want displaying
$num_displayed = 25 ;

//Finding the users folder
$folder = $settings['user_id'];

// Make the systems links
$result = mysql_query ("SELECT * FROM Click  LIMIT $num_displayed");
while ($row = mysql_fetch_array($result))
echo '<center><font size="3">| <a href="java script:Popup(\''.$row["link1"].'/system/'.$folder.'/click.php?id='.$row["link2"].'\')" target="_blank">Click me-'.$row["link2"].'</a> |</font></center>';

mysql_close($con);
?>
Avatar billede techboy992 Praktikant
28. oktober 2012 - 16:01 #3
The link is lookin like this [code]http://www.awc24h.com/test/java%20script:Popup(/click.php?id=1%27) [/code]

After insert the code
Avatar billede techboy992 Praktikant
28. oktober 2012 - 16:12 #4
<script type="text/javascript">
<!--
  var stile = "top=10, left=10, width=600, height=800 status=no, menubar=no, toolbar=no scrollbar=no";
    function Popup(apri) {
        window.open(apri, "", stile);
    }
//-->
</script>

Hvor skal jeg saette det ind jeg har proevet i <head> <body> og som echo tag
Avatar billede rix Praktikant
28. oktober 2012 - 16:31 #5

<?php
error_reporting(E_ALL ^ E_NOTICE);
define('IN_SCRIPT',1);

/* Get settings from the settings.php file */
require 'settings.php';

/* Get database connection from the database.php file */
require 'database.php';

/* Start user session or output an error */
session_name('CCOUNT');
if (!session_start()) {
    error('Cannot start a new PHP session. Please contact server administrator or webmaster!');
}
echo '<hr>';
mysql_select_db("some database", $con);
// Edit this number to however many links you want displaying
$num_displayed = 25 ;

//Finding the users folder
$folder = $settings['user_id'];

// Make the systems links
$result = mysql_query ("SELECT * FROM Click  LIMIT $num_displayed");
while ($row = mysql_fetch_array($result))
echo '<center><font size="3">| <a href="java script:Popup(\''.$row["link1"].'/system/'.$folder.'/click.php?id='.$row["link2"].'\')" target="_blank">Click me-'.$row["link2"].'</a> |</font></center>';

mysql_close($con);
?>


det er fordi jeg kom til at putte mellemrum mellem java og script.
nu skulle det virke.

Jeg ville sige at den skal i head.
Avatar billede rix Praktikant
28. oktober 2012 - 16:33 #6
Hmm ved ikke hvorfor der kommer mellemrum

men linje 5 nede fra
finder du en der heder
<a href="java script.....

fjern mellemrummet mellem java og script så virker det
Avatar billede techboy992 Praktikant
28. oktober 2012 - 16:49 #7
Den aabner en ny tab i firefox, men den viser ikke noget og link staar til about:blank i adress linien

Jeg har selve scriptet i head tag
Avatar billede rix Praktikant
28. oktober 2012 - 17:03 #8

<?php
error_reporting(E_ALL ^ E_NOTICE);
define('IN_SCRIPT',1);

/* Get settings from the settings.php file */
require 'settings.php';

/* Get database connection from the database.php file */
require 'database.php';

/* Start user session or output an error */
session_name('CCOUNT');
if (!session_start()) {
    error('Cannot start a new PHP session. Please contact server administrator or webmaster!');
}
echo '<hr>';
mysql_select_db("some database", $con);
// Edit this number to however many links you want displaying
$num_displayed = 25 ;

//Finding the users folder
$folder = $settings['user_id'];

// Make the systems links
$result = mysql_query ("SELECT * FROM Click  LIMIT $num_displayed");
while ($row = mysql_fetch_array($result))
echo '<center><font size="3">| <a href="java script:Popup(\''.$row["link1"].'/system/'.$folder.'/click.php?id='.$row["link2"].'\')">Click me-'.$row["link2"].'</a> |</font></center>';

mysql_close($con);
?>


Har fjernet taget="_blank" så skulle det gerne virke. kontrollere lige igen om der er kommet mellemrum mellem java og script
Avatar billede techboy992 Praktikant
28. oktober 2012 - 18:06 #9
VIrker stadig ikke
Avatar billede olebole Juniormester
28. oktober 2012 - 18:07 #10
<ole>

Det kunne tyde på, du har fundet noget kode på WWW og brugt det. Det er der for såvidt ikke noget galt i, men du bør altid tjekke, hvor gammel en evt. artikel er. CENTER og FONT tags har været deprecated siden før årtusindskiftet. I øvrigt giver det ikke mening at bruge CENTER omkring inline elementer, da de jo shrink-wrap'er sig om indholdet.

Derudover tror jeg ikke, JavaScriptet vil kunne fungere, som det står. Der må ikke være mellemrum mellem direktiverne i tredie argument, når window.open kaldes - og de skal alle være adskilt med komma. Prøv denne rettede kode i stedet:

<script type="text/javascript">
var stile = "top=10,left=10,width=600,height=800,status=no,menubar=no,toolbar=no,scrollbar=no";
function Popup(apri) {
    window.open(apri, "", stile);
}
</script>

Du skal dog lige være opmærksom på, at WebKit (f.eks. Safari og Chrome) ikke overholder scroll direktivet. De sætter under alle omstændigheder scrollbar på ved overflow.

/mvh
</bole>
Avatar billede techboy992 Praktikant
28. oktober 2012 - 18:22 #11
Hej Ole

Ja Jeg fandt det paa nettet :)

Der er problem i dit script

Parse error: syntax error, unexpected '}' in /home/awc24h/public_html/test/show.php on line 34
Avatar billede olebole Juniormester
28. oktober 2012 - 18:50 #12
Nej, der er ikke nogen fejl i det, jeg skrev - men det er muligt, du har lavet en, da du skrev det ind  =)

Jeg kan ikke se din kode - eller hvad der står i linje 34 - så det er svært at sige, hvilken fejl du har lavet.
Avatar billede techboy992 Praktikant
28. oktober 2012 - 19:17 #13
Ok jeg poster script igen her

[code]
<html>
<head>
</head>
</html>

<?php
error_reporting(E_ALL ^ E_NOTICE);
define('IN_SCRIPT',1);

/* Get settings from the settings.php file */
require 'settings.php';

/* Get database connection from the database.php file */
require 'database.php';

/* Start user session or output an error */
session_name('CCOUNT');
if (!session_start()) {
    error('Cannot start a new PHP session. Please contact server administrator or webmaster!');
}
echo '<hr>';

echo '
<script type="text/javascript">
var stile = "top=10,left=10,width=600,height=800,status=no,menubar=no,toolbar=no,scrollbar=no";
function Popup(apri) {
    window.open(apri, "", stile)';
}
</script>;
mysql_select_db("awc24h_login", $con);
// Edit this number to however many links you want displaying
$num_displayed = 25 ;

//Finding the users folder
$folder = $settings['folder'];
$urlen = $settings['url'];

// Make the systems links
$result = mysql_query ("SELECT * FROM Click  LIMIT $num_displayed");
while ($row = mysql_fetch_array($result))
// echo ' <center><font size="3">| <a href="http://www.awc24h.com/test/click.php?id='.$row["link2"].'" target="_blank"> Click me-'.$row["link2"].'</a> |</font></center><br>';

echo '<center><font size="3">| <a href="java script:Popup(\'click.php?id='.$row["link2"].'\')">Click me-'.$row["link2"].'</a> |</font></center>';
echo $uri;
mysql_close($con);
?>
[/code]
Avatar billede techboy992 Praktikant
28. oktober 2012 - 19:18 #14
<html>
<head>
</head>
</html>

<?php
error_reporting(E_ALL ^ E_NOTICE);
define('IN_SCRIPT',1);

/* Get settings from the settings.php file */
require 'settings.php';

/* Get database connection from the database.php file */
require 'database.php';

/* Start user session or output an error */
session_name('CCOUNT');
if (!session_start()) {
    error('Cannot start a new PHP session. Please contact server administrator or webmaster!');
}
echo '<hr>';

echo '
<script type="text/javascript">
var stile = "top=10,left=10,width=600,height=800,status=no,menubar=no,toolbar=no,scrollbar=no";
function Popup(apri) {
    window.open(apri, "", stile)';
}
</script>;
mysql_select_db("awc24h_login", $con);
// Edit this number to however many links you want displaying
$num_displayed = 25 ;

//Finding the users folder
$folder = $settings['folder'];
$urlen = $settings['url'];

// Make the systems links
$result = mysql_query ("SELECT * FROM Click  LIMIT $num_displayed");
while ($row = mysql_fetch_array($result))
// echo ' <center><font size="3">| <a href="http://www.awc24h.com/test/click.php?id='.$row["link2"].'" target="_blank"> Click me-'.$row["link2"].'</a> |</font></center><br>';

echo '<center><font size="3">| <a href="java script:Popup(\'click.php?id='.$row["link2"].'\')">Click me-'.$row["link2"].'</a> |</font></center>';
echo $uri;
mysql_close($con);
?>
Avatar billede olebole Juniormester
28. oktober 2012 - 19:31 #15
Der, hvor du echo'er JavaScriptet, har du sat slut apostroffen forkert
Avatar billede olebole Juniormester
28. oktober 2012 - 19:32 #16
Hvis du bruger en editor med syntaks-highlighting, skulle fejlen gerne springe umiddelbart i øjnene  =)
Avatar billede techboy992 Praktikant
29. oktober 2012 - 12:59 #17
Kan du foreslaa en god editor jeg bruger bare mit cpanels filemanager nu
Avatar billede techboy992 Praktikant
29. oktober 2012 - 13:47 #18
I changed it to :

echo '
<script type="text/javascript">
var stile = "top=10,left=10,width=600,height=800,status=no,menubar=no,toolbar=no,scrollbar=no";
function Popup(apri) {
    window.open(apri, "", stile);
}
</script>';

But still will not popup the window I try even in explorer

if I understand right should the link only show java script:popup
not : [code]java script:Popup('click.php?id=1')[/code] as it does now.

<center><font size="3">| <a href="java script:Popup(\'click.php?id='.$row["link2"].'\')">Click me-'.$row["link2"].'</a> |</font></center>
Avatar billede techboy992 Praktikant
29. oktober 2012 - 13:49 #19
java script:Popup('click.php?id=1')
Avatar billede techboy992 Praktikant
29. oktober 2012 - 13:50 #20
jeg har ikke mellemrum i javascript det er eksperten der laver det
Avatar billede olebole Juniormester
29. oktober 2012 - 14:17 #21
Jo, det virker fint, og hvis det ikke virker hos dig, har det ikke noget med JS at gøre. Fejlen med, at Eksperten deler 'javascript' i to, når der kommer et kolon efter, er i øvrigt gammel og velkendt  =)

Prøv at skrive dette i et ellers tomt HTML-dokument:

<script type="text/javascript">
var stile = "top=10,left=10,width=600,height=800,status=no,menubar=no,toolbar=no,scrollbar=no";
function Popup(apri) {
    window.open(apri, "", stile);
}
</script>

<a href="java script:Popup('http://www.google.dk')">Click me-Google</a>

It works like a charm  *o)

Hvordan ser dit link ud? Er du sikker på, der er tale om en fuld URL med protokolangivelse og alt?
Avatar billede techboy992 Praktikant
29. oktober 2012 - 15:29 #22
urlen er som jeg viste i forrige indlaeg

Naar jeg hoejre klikker og vaelger copier link faar jeg:
java script:Popup('click.php?id=1')
men den aabner ikke nyt vindue hverken i firefox eller i explorer.
Du kan se her http://www.awc24h.com/test/show.php

virker naar jeg kalder siden direkte men ikke naar den bliver kaldt via det ajax jeg har. hmmm underligt skal vist have en frame i stedet for ajax til at aabne siden eller bare en include side tag ved ikke hvad er bedst nogle gode raad ??.
Avatar billede techboy992 Praktikant
29. oktober 2012 - 15:35 #23
index.php
<head>

<script>
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","show.php",true);
xmlhttp.send();
}
</script>
</head>

i body har jeg
<button type="button" onclick="loadXMLDoc()">Get new link</button>
Avatar billede techboy992 Praktikant
29. oktober 2012 - 15:43 #24
solved :) indsatte javascript i min index.php isted for show.php saa virkede det
Avatar billede olebole Juniormester
29. oktober 2012 - 15:44 #25
Ajax? Jamen, hvad skal du bruge en popup til i forbindelse med Ajax? Koden i #23 har godt nok ikke ret meget med Ajax at gøre, men uanset det, er der ikke sammenhæng mellem Ajax og en popup. Hvordan havde du tænkt dig, det skulle bruges?

Derudover kan du ikke bruge 'click.php' som URL i en window.open. Du skal som angivet også skrive en protokol ... f.eks: 'http://'
Avatar billede techboy992 Praktikant
29. oktober 2012 - 15:45 #26
Hvem skal have point send svar traad
Avatar billede olebole Juniormester
29. oktober 2012 - 15:46 #27
Forstår du selv noget af denne tråd? Jeg er i hvertfald totalt hægtet af  :D
Avatar billede techboy992 Praktikant
29. oktober 2012 - 16:23 #28
okay ole den side show.php bliver kaldt i et ajax script i index.php, din kode virkede ikke i show.php som viser linkene

Derfor indsatte jeg din part af koden i index.php og saa virkede det.

den kode jeg viste til sidst er det script som kalder show.php i mit main script i index.php da alle links vises i ajax i index.php efter at man klikker knappen show new links.

Forstaar du nu ??
:)
Avatar billede olebole Juniormester
29. oktober 2012 - 17:25 #29
Nej, men det overlever jeg fint  =)
Avatar billede techboy992 Praktikant
14. december 2012 - 16:12 #30
er loest oprydning i loeste spoergsmaal
Avatar billede olebole Juniormester
14. december 2012 - 16:23 #31
Prøv at læse FAQ'en, så du lærer at lukke dine spørgsmål på en anstændig måde
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