Beste allemaal,

Ik heb een probleem met een niet werkende link naar een download counter op de Netfirms server.
Deze link werkt wel uitstekend op mijn eigen PC in localhost.

De link wordt opgebouwd uit een query in mysql waarbij gebruik gemaakt wordt van een $id voor row.

Dit is de standaard query:

<?php

$id = $_GET['id'];

// Make a MySQL Connection
include 'mysql.connect.php';
mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die(mysql_error());
mysql_select_db($mysqldb) or die(mysql_error());

// Retrieve all the data from the "interview" table
$result = mysql_query("SELECT * FROM interview where a_nummer=$id")
or die(mysql_error());

// store the record of the "interview" table into $row
$row = mysql_fetch_array( $result );

mysql_close();

?>


Hierna wordt de link opgebouwd

<a HREF="interviews/<?PHP echo $row['a_namecode']; ?><?PHP echo $row['a_radiofileindex']; ?>/<?PHP echo $row['a_namecode']; ?>_low.wax" target="_top" onclick="parent.location='updater/stats/audiocounter.php?url=<?PHP echo $row['a_nummer']; ?>a_countwmv'"><b>Dial up</b></a>

Voorbeeld voor $id=24, de $id van Dr. Alton Arp waarvan wij een audio interview hebben.

<a HREF="interviews/arp/arp_low.wax" target="_top" onclick="parent.location='updater/stats/audiocounter.php?url=24a_countwmv'"><b>Dial up</b></a>

Hiermee worden twee dingen gedaan.
Ten eerste wordt een WAX file aangeroepen waarmee een audio bestand wordt geopend in een stand alone WMP. Het gekke is dat dit prima werkt op de PC in local host EN op de Netfirms server zonder dat er een type="audio/x-ms-wax" wordt meegestuurd.
Ten tweede wordt er middels het onclick argument een download counter (audiocounter.php) geactiveerd.

De counter ziet er zo uit

<?php

// get the URL from the variable
$urlupdate = $_GET['url'];

// Splits $urlupdate op met ereg_replace in $a_column en $a_nummer
$a_column = ereg_replace("[^A-Za-z\._-]", "", $urlupdate);
$a_nummer = ereg_replace("[^0-9]", "", $urlupdate);


include '../../mysql.connect.php';
mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die(mysql_error());
mysql_select_db($mysqldb) or die(mysql_error());

$update = "UPDATE interview SET " . $a_column . " = " . $a_column . "+1 WHERE a_nummer = " . $a_nummer;
$result = mysql_query($update);

mysql_close();

//return to previous screen
echo '<script type=""text/javascript"">history.go(-1);</script>';

?>

Een voorbeeld voor de concatenated $update hieronder voor $urlupdate = 24a_countwmv.

<?php

$urlupdate = "24a_countwmv";
echo $urlupdate;
echo "<br>";
$a_column = ereg_replace("[^A-Za-z\._-]", "", $urlupdate);
$a_nummer = ereg_replace("[^0-9]", "", $urlupdate);
echo $a_column;
echo "<br>";
echo $a_nummer;

echo "<br>";
$update = "UPDATE interview SET " . $a_column . " = " . $a_column . "+1 WHERE a_nummer = " . $a_nummer;
echo $update;
?>

Geeft keurig netjes op localhost en op de Netfirms server:

24a_countwmv
a_countwmv
24
UPDATE interview SET a_countwmv = a_countwmv+1 WHERE a_nummer = 24

En daarna ook op beide servers een perfecte database update volgens de query.

Met andere woorden, alle onderdelen werken.
Behalve met de link dus.

Nu heb ik gemerkt dat als ik de target="_top" vervang door target="_blank" dat alles het wel goed doet met de link.

Vervang deze:
<a HREF="interviews/<?PHP echo $row['a_namecode']; ?><?PHP echo $row['a_radiofileindex']; ?>/<?PHP echo $row['a_namecode']; ?>_low.wax" target="_top" onclick="parent.location='updater/stats/audiocounter.php?url=<?PHP echo $row['a_nummer']; ?>a_countwmv'"><b>Dial up</b></a>

Met deze:
<a HREF="interviews/<?PHP echo $row['a_namecode']; ?><?PHP echo $row['a_radiofileindex']; ?>/<?PHP echo $row['a_namecode']; ?>_low.wax" target="_blank" onclick="parent.location='updater/stats/audiocounter.php?url=<?PHP echo $row['a_nummer']; ?>a_countwmv'"><b>Dial up</b></a>


Maar nu wordt er een extra page, zonder zichtbare info, geopend die open blijft.
Dat is dus geen gezicht.

Ik snap er helemaal niks meer van, server setting?, syntax fout?

Kan iemand mij een duw in de goede richting geven?

Alvast hartstikke bedankt !!

Kees van Dongen
Gebruik even de [ignore][code][/ignore] tags ;-)

Verder als het wel werkt op je localhost, maar niet op je host, kun je het probleem vaak wel vinden door error_reporting(E_ALL); erboven te zetten ;-)
Woops, dat wist ik niet, nog een keer maar nu met code tags. Hoop dat het goed gaat.


Beste allemaal,

Ik heb een probleem met een niet werkende link naar een download counter op de Netfirms server.
Deze link werkt wel uitstekend op mijn eigen PC in localhost.

De link wordt opgebouwd uit een query in mysql waarbij gebruik gemaakt wordt van een $id voor row.

Dit is de standaard query:


<?php 

$id =  $_GET['id']; 

// Make a MySQL Connection 
include 'mysql.connect.php'; 
mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die(mysql_error()); 
mysql_select_db($mysqldb) or die(mysql_error()); 

// Retrieve all the data from the "interview" table 
$result = mysql_query("SELECT * FROM interview where a_nummer=$id") 
or die(mysql_error());  

// store the record of the "interview" table into $row 
$row = mysql_fetch_array( $result ); 
  
mysql_close(); 

?> 


Hierna wordt de link opgebouwd


<a HREF="interviews/<?PHP echo $row['a_namecode']; ?><?PHP echo $row['a_radiofileindex']; ?>/<?PHP echo $row['a_namecode']; ?>_low.wax" target="_top" onclick="parent.location='updater/stats/audiocounter.php?url=<?PHP echo $row['a_nummer']; ?>a_countwmv'"><b>Dial up</b></a> 


Voorbeeld voor $id=24, de $id van Dr. Alton Arp waarvan wij een audio interview hebben.


<a HREF="interviews/arp/arp_low.wax" target="_top" onclick="parent.location='updater/stats/audiocounter.php?url=24a_countwmv'"><b>Dial up</b></a> 


Hiermee worden twee dingen gedaan.
Ten eerste wordt een WAX file aangeroepen waarmee een audio bestand wordt geopend in een stand alone WMP. Het gekke is dat dit prima werkt op de PC in local host EN op de Netfirms server zonder dat er een type="audio/x-ms-wax" wordt meegestuurd.
Ten tweede wordt er middels het onclick argument een download counter (audiocounter.php) geactiveerd.

De counter ziet er zo uit


<?php 

// get the URL from the variable 
$urlupdate = $_GET['url']; 

// Splits $urlupdate op met ereg_replace in $a_column en $a_nummer 
$a_column = ereg_replace("[^A-Za-z\._-]", "", $urlupdate); 
$a_nummer = ereg_replace("[^0-9]", "", $urlupdate); 


include '../../mysql.connect.php'; 
mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die(mysql_error()); 
mysql_select_db($mysqldb) or die(mysql_error()); 

$update = "UPDATE interview SET " . $a_column . " = " . $a_column . "+1 WHERE a_nummer = " . $a_nummer; 
$result = mysql_query($update); 

mysql_close(); 

//return to previous screen 
echo '<script type=""text/javascript"">history.go(-1);</script>'; 

?> 


Een voorbeeld voor de concatenated $update hieronder voor $urlupdate = 24a_countwmv.


<?php 

$urlupdate = "24a_countwmv"; 
echo $urlupdate; 
echo "<br>"; 
$a_column = ereg_replace("[^A-Za-z\._-]", "", $urlupdate); 
$a_nummer = ereg_replace("[^0-9]", "", $urlupdate); 
echo $a_column; 
echo "<br>"; 
echo $a_nummer; 

echo "<br>"; 
$update = "UPDATE interview SET " . $a_column . " = " . $a_column . "+1 WHERE a_nummer = " . $a_nummer; 
echo $update; 
?> 


Geeft keurig netjes op localhost en op de Netfirms server:

24a_countwmv
a_countwmv
24
UPDATE interview SET a_countwmv = a_countwmv+1 WHERE a_nummer = 24

En daarna ook op beide servers een perfecte database update volgens de query.

Met andere woorden, alle onderdelen werken.
Behalve met de link dus.

Nu heb ik gemerkt dat als ik de target="_top" vervang door target="_blank" dat alles het wel goed doet met de link.

Vervang deze:

<a HREF="interviews/<?PHP echo $row['a_namecode']; ?><?PHP echo $row['a_radiofileindex']; ?>/<?PHP echo $row['a_namecode']; ?>_low.wax" target="_top" onclick="parent.location='updater/stats/audiocounter.php?url=<?PHP echo $row['a_nummer']; ?>a_countwmv'"><b>Dial up</b></a> 


Met deze:

<a HREF="interviews/<?PHP echo $row['a_namecode']; ?><?PHP echo $row['a_radiofileindex']; ?>/<?PHP echo $row['a_namecode']; ?>_low.wax" target="_blank" onclick="parent.location='updater/stats/audiocounter.php?url=<?PHP echo $row['a_nummer']; ?>a_countwmv'"><b>Dial up</b></a> 


Maar nu wordt er een extra page, zonder zichtbare info, geopend die open blijft.
Dat is dus geen gezicht.

Ik snap er helemaal niks meer van, server setting?, syntax fout?

Kan iemand mij een duw in de goede richting geven?

Alvast hartstikke bedankt !!

Kees van Dongen
Even ter aanvulling,

Alle losse onderdelen werken zonder foutmeldingen.
Ik denk dat er een verschil is tussen localhost en remote server in het kunnen combineren van links met een target="_top" argument en dan ook nog een extra onclick parent.location event.

<a HREF="bestand1.php" target="_top" onclick="parent.location='bestand2.php?url=iets'"><b>Klik hier</b></a>

Op local host werkt dit wel, op een remote server dus niet.
Rara hoe komt dat ??
En wat is er aan te doen?

Please help.

Kees
Niet bumpen! Je weet dondersgoed hoe de edit-knop werkt!

Reageren