PHP SQL waarde uit tabel ophalen met dubbele quotes

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Paul van der Zee

Paul van der Zee

07/03/2014 21:59:54
Quote Anchor link
Beste mensen, alhoewel ik al enkele jaren programmeer met PHP5 loop ik hier nu toch even tegen een vraag aan waar ik echt even niet uit kom:

Ik heb een quizdatabase waarbij ik met MySQL vragen uit op haal en aan gebruikers presenteer. Sinds enige tijd kunnen zij daar zelf ook vragen aan toevoegen, maar nu komt het probleem dat ze daarin dubbele quotes gebruiken. Bijvoorbeeld: Dit is een "testvraag".

Wanneer ik deze vraag normaliter ophaal en in de quiz als vraag toon dan komt de vraag er netjes uit met "testvraag" tussen dubbelen quotes. Daarvoor gebruik ik dit segment code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
<b>Vraag " . $qno . " " . $q_new . "</b>";
echo "
<b>" . utf8_encode($obj->question) . "</b></p>
?>

Maar wanneer ik deze quizvragen wil redigeren, dan kan ik doe ik dat met behulp van een formuliertje waar ik alleen als administrator bij kan en dan verdwijnt alles na de dubbele quotes. Code:

<tr><td>Vraag</td><td><input type="text" name="question" size="50" maxlength="255" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo utf8_encode($obj->question);?>
" /></td></tr>


Ik ben geen newbie met PHP, maar deze zie ik echt even niet.

Wijzen van ophalen lijken me ook wel even belangrijk om te vermelden.
Behorende bij de eerste genoemde code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(isset($upid))
  {

  $sql_get_question_for_edit = "SELECT * FROM qvdm_questions
                           WHERE id = $upid"
;
                                
  $res_get_question_for_edit = mysql_query($sql_get_question_for_edit ) or die(mysql_error());
  while($obj = mysql_fetch_object($res_get_question_for_edit ))
    {

    $ques_question    = $obj->question;
    $ques_moderate    = $obj->moderate;
    }

?>


Behorende bij de tweede genoemde code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql_get_question
= "SELECT * FROM `qvdm_questions`
                WHERE `category` = '$playquiz'
          AND `moderate` <> '1'
         ORDER BY RAND() LIMIT 10"
;
// echo "De database bevraging is SQL: " . $sql . "<br>";
$res_get_question = mysql_query($sql_get_question ) or die(mysql_error());

while(($obj = mysql_fetch_object($res_get_question)) && ($teller <=10))
  {

  $Q = $obj->question;
  }

?>


Belangrijk verschil met de ene methode van de vraag tonen is dus dat hiermee alleen de tekst readonly op het scherm getoond moet worden, waarbij in de tweede situatie de tekst in een formulier getoond en bewerkt moet kunnen worden.
Ik verwacht dat ik de string die ik uit de database ophaal nog door een functie heen moet trekken om de vraag zo op te maken dat hij goed wordt opgemaakt, maar ik kan toch niet vinden welke.

Vast bedankt voor de hulp!
 
PHP hulp

PHP hulp

05/11/2024 15:39:13
 
Jacek Smit

Jacek Smit

14/03/2014 19:34:01
Quote Anchor link
Als je probleem is dat er in je in je HTML dit krijg -> value=" dit is een dubbele Quote -> " " en dat HTML hem dan spacet
gebruik dan htmlspecialchars();

meer info op http://nl3.php.net/htmlspecialchars

Have fun
 



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.