waarden met ' worden niet weergegeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Seb wd

seb wd

02/01/2007 11:49:00
Quote Anchor link
Hello all,

Ik heb een script met een mouseover popup. Het script werkt bijna perfect, want als een waarde (naam) de ' in zich heeft wordt de mouzeover popup niet getoond. Indien dit niet het geval is werkt het perfect.
Hieronder de code die - volgens mij - van belang is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php foreach($rows as $row) {
  $naam = stripslashes($row->naam);
  $leeftijd = stripslashes($row->leeftijd);
  $jarigop = stripslashes($row->jarigop);
  $datum_overlijden = stripslashes($row->datum_overlijden);
  
if($datum_overlijden == "")
  {

$overlib   = "<table>" .                            
 "<tr><td valign=top>Naam:</td><td>$naam</td></tr>" .
  "<tr><td valign=top>Roepnaam:</td><td>$roepnaam</td></tr>" .
  "</table>";    

  
  echo "<font size=1><b>$jarigop</b>&nbsp;";
  echo "<a onmouseout='return nd();' ";
  echo "onmouseover=\"return overlib('$overlib',CAPTION,'INFORMATIE',BELOW,RIGHT);\">";
    
  echo "$naam&nbsp;";

  echo "</a>";
  echo "($leeftijd)</font><br/>";
                         }
?>


Weet iemand de oplossing?
 
PHP hulp

PHP hulp

03/12/2021 02:52:43
 
Jan Koehoorn

Jan Koehoorn

02/01/2007 11:58:00
Quote Anchor link
Het is JavaScript, en ook in JavaScript moet je een enkele quote escapen. Ik zou dus addslashes over die variabele heen gooien.
 
PHP Newbie

PHP Newbie

02/01/2007 11:59:00
Quote Anchor link
of de stripslashes verwijderen.
 
Seb wd

seb wd

02/01/2007 11:59:00
Quote Anchor link
dus addslashes ipv stripslashes er voor zetten?
 
Jan Koehoorn

Jan Koehoorn

02/01/2007 12:04:00
Quote Anchor link
Gewoon even uittesten. Als magic quotes aanstaat en als die waarden uit een formulier komen, zitten er al slashes in en kan die stripslashes weg. Als de quotes niet automatisch geëscapet worden, mag stripslashes weg (die heeft dan geen zin) en heb je addslashes nodig.
 
Seb wd

seb wd

02/01/2007 12:13:00
Quote Anchor link
in de database staan de namen gewoon met een ' en niet een \ ervoor. Dus ik moet dan addslashes er voor zetten. Volgens mij zit ik ook met het "probleem" dat in de
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo "onmouseover=\"return overlib('$overlib',CAPTION,'INFORMATIE',BELOW,RIGHT);\">"; ?>


de $overlib tussen '' staat.
 
Jan Koehoorn

Jan Koehoorn

02/01/2007 12:15:00
Quote Anchor link
Klopt, die enkele quotes moet je ook escapen met een \
 
Seb wd

seb wd

02/01/2007 12:22:00
Quote Anchor link
het gekke is dat als ik .......(\'$overlib\'...... doe, dan werkt de hele mouseover niet meer.
 
Jan Koehoorn

Jan Koehoorn

02/01/2007 12:27:00
Quote Anchor link
Probeer hem eens zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo 'onmouseover="return overlib(" . $overlib . ",CAPTION,INFORMATIE,BELOW,RIGHT);">'; ?>


Tip: plak eens de broncode hierheen die het resultaat is van dit stukje script?
 
Seb wd

seb wd

02/01/2007 12:30:00
Quote Anchor link
jan, bedankt voor de tip!!!!! je laatste optie met de addslashes wertk! Merci!
 
Jan Koehoorn

Jan Koehoorn

02/01/2007 12:32:00
Quote Anchor link
Okee, mooi dat het werkt!
 
Seb wd

seb wd

04/01/2007 10:00:00
Quote Anchor link
het werkte in het begin wel, maar niet op sommige pagina's. Nu is het zo dat het op geen enkele pagina meer werkt en de volgende error krijg ik te zien:

Line: 165 (als je in de broncode kijkt begint hier het script)
Char: 1
Error: object expected
Code: 0

Wat heeft dit te betekenen en hoe kan ik het veranderen?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.