Uit te voeren PHP-opdracht in tabel werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

George van Baasbank

George van Baasbank

28/11/2013 13:57:10
Quote Anchor link
Goedemiddag,

Ten behoeve van mijn opdrachtgever ga ik zijn website aan Facebook koppelen met de bedoeling dat, indien er een LIKE wordt geplaatst op FB, er geen verzendkosten worden berekend op zijn webshop.

Omdat de acties regelmatig zullen wisselen heb ik er voor gekozen om de opdrachten in een tabel op te slaan en die dan te laten uitvoeren. Helaas lukt het mij deze keer niet zonder hulp.

Kunnen jullie mij aangeven waar ik de fout in ga?

De tabel:
In de tabel is een veld opgenomen (genaamd: actie) met de volgende inhoud:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$nVerzendkosten
= 0; $_SESSION['verzendkosten'] = $nVerzendkosten;
?>


De routine waarmee e.e.a. wordt ingelezen ziet er asl volgt uit:

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
<?php
# Hier komt de routine voor FaceBook
$lLike = TRUE;  // Waarde ingesteld om de test te kunnen uitvoeren
$lShare = FALSE;
                            
include "include/connectie_nw.inc.php";   // Maak connectie met DB
$sql = "SELECT actie FROM shop__facebook WHERE fb_like = TRUE"; // Selecteer het record                          
$cResultQuery = mysqli_query($verbinding,$sql);  // Voer de query uit
$rowQuery = mysqli_fetch_array($cResultQuery);  // Fetch het resultaat
$sql = $rowQuery['actie'];  // Plaats de inhoud van het record in de var $sql
eval("\$sql = \"$sql\";");   // Bewerk var $sql
$cResultActie = mysqli_query($verbinding,$sql);   // Voer de uiteindelijke actie uit
$rowActie = mysqli_fetch_array($cResultActie);   // Fetch het uiteindelijke resultaat
?>


Als ik bovenstaande uitvoer dan krijg ik als resultaat: 2.50 = 0, oftewel 2.50 is de WAARDE van de oorspronkelijke var $nVerzendkosten.
 
PHP hulp

PHP hulp

26/11/2020 22:22:13
 
Kris Peeters

Kris Peeters

28/11/2013 14:26:09
Quote Anchor link
Sorry dat ik niet echt antwoord op de vraag.

Maar wat staat die eval daar te doen?
Misschien ontgaat me een detail, maar het lijkt me dat die eval daar niets nuttigs staat te doen; en ondertussen een potentieel gevaar kan betekenen.
 
George van Baasbank

George van Baasbank

28/11/2013 14:36:58
Quote Anchor link
Volgens mij moet ik die gebruiken om de PHP-opdracht te kunnen gebruiken
 
Kris Peeters

Kris Peeters

28/11/2013 14:49:08
Quote Anchor link
Geen eens een voorbeeld van wat in $rowQuery['actie'] kan staan.
Dan kunnen we zien of dit nuttig kan zijn
 
George van Baasbank

George van Baasbank

28/11/2013 14:53:35
Quote Anchor link
Zie de code in mijn eerste melding

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$nVerzendkosten
= 0; $_SESSION['verzendkosten'] = $nVerzendkosten;
?>
 
Kris Peeters

Kris Peeters

28/11/2013 15:23:37
Quote Anchor link
Okay, I see. Zo kan je verschillende variabelen een waarde geven.

Lees toch even dit:
http://www.phphulp.nl/php/forum/topic/veilig-om-eval-te-gebruiken-in-deze-situatie/92287/

Onderaan staat een alternatief dat je misschien kan gebruiken.
 



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.