Uit te voeren PHP-opdracht in tabel werkt niet
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:
De routine waarmee e.e.a. wordt ingelezen ziet er asl volgt uit:
Als ik bovenstaande uitvoer dan krijg ik als resultaat: 2.50 = 0, oftewel 2.50 is de WAARDE van de oorspronkelijke var $nVerzendkosten.
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:
De routine waarmee e.e.a. wordt ingelezen ziet er asl volgt uit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
?>
# 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.
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.
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.
Volgens mij moet ik die gebruiken om de PHP-opdracht te kunnen gebruiken
Geen eens een voorbeeld van wat in $rowQuery['actie'] kan staan.
Dan kunnen we zien of dit nuttig kan zijn
Dan kunnen we zien of dit nuttig kan zijn
Zie de code in mijn eerste melding
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.
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.




