Mensen,

Misschien is het ouderwets en ik weet het de meeste dingen zal je van het internet moeten leren. En jullie helpen mij ook mega goed. Maar toch ga ik het vragen:

Zijn er ook actuele PHP boeken. Die bijvoorbeeld zijn geschreven in 2016? Veel boeken die je tegenkomt zijn uit een ver verleden.

Wie kan mij helpen?
Er worden nog steeds boeken geschreven, maar kwalitatief vind ik ze maar matig.
Er worden veel belangrijke stappen overgeslagen, zoals foutafhandeling.

Wat ik wel kan aanraden als je enige ervaring van PHP hebt, is het PHP Kookboek van Ward van der Put (zit hier ook op de site).

Deze biedt vele 'recepten' waarbij interessante dingen over PHP worden uitgelegd. Deze heb ik hier ook liggen, en heb er veel profijt van.
>> Misschien is het ouderwets en ik weet het de meeste dingen zal je van het internet moeten leren.

Nee hoor. Het is niet ouderwets. Sterker nog, ik raad het juist aan om eerst eens een goed (basis)boek te lezen (dat zouden meer mensen moeten doen), en pas daarna op internet te gaan zoeken. Een goed boek verschaft namelijk een goede BASIS, en die vind je op internet niet. Een basis zorgt ervoor dat je dingen beter begrijpt en dat je niet zomaar in het wilde weg wat aan het doen bent.

Een recent boek is (bijvoorbeeld) dit: https://www.bol.com/nl/p/basiscursus-basiscursu-php7-en-mysql/9200000051724510/

Niet al te duur en de schrijver schrijft meerdere computerboeken. Voordeel is dat het een basisboek is en zoal ik al zei niet zo duur. Ik ken het boek verder niet, maar omdat het een bekende schrijver is en het boek niet al te duur is denk ik dat je er geen miskoop aan zult hebben.
Het blijven reviews, maar ik lees toch een paar minpunten als op op Bol.com kijk.
Maar het is en blijft natuurlijk een mening van de lezer.
Ga er eens naar kijken. Heb nu een boek in huis (van de bieb) PHP applicatieontwikkeling van Peter Kassenaar. Die is in ieder geval minder fout gevoelig dan het complete boek van Arhan burger dat barst van de fouten.

[size=xsmall]Toevoeging op 27/12/2016 15:15:35:[/size]

Ben mij aan het verdiepen in het boek van Peter. Nu geeft hij een methode aan om de invoer van ja gastenboek te controleren dat moet dan als volgt:


<?php
$query = "INSERT yabg_inhoud  (id, naam, email, homepage, bijdrage, datum)
VALUES ('', '" .
safe_text($_POST['naam']) . "', '" .
safe_text($_POST['email']) . "', '" .
safe_text($_POST['homepage']) . "', '" .
safe_text($_POST['bijdrage'], $toegestane_tags) . "', '" .
safe_text($_POST['datum']) . "')";
?>


Maar dan krijg ik de volgende foutmelding: Fatal error: Call to undefined function safe_text() in /public/sites/mijn site/php/Gastenboek/yabg_functions.php on line 6

Wie kan mij helpen?
Fout is opgelost. Je moet de functie natuurlijk nog wel even aanmaken en de boel laten verwerken.
Ben benieuwd hoe die functie dan is geïmplementeerd. Heb je daar een voorbeeld van? En gebruik je die functie alleen voor de DATA-delen in je query of ook voor het veilig afdrukken van tekst in een HTML-document? "safe_text" vertelt mij namelijk weinig over de context waarin ik deze functie zou moeten gebruiken. In dat opzicht is de naam van die functie nou niet bepaald handig gekozen.
Dat kan hoor:

Hier het gehele deel:

[code]
<?php
function safe_text($tekst='', $toegestane_tags=''){
$tekst = trim($tekst);
if (!get_magic_quotes_gpc()) {
$tekst = addslashes($tekst);

}
return strip_tags($tekst, $toegestane_tags);
}
function lees_text($string) {
if (get_magic_quotes_runtime()) {
return stripslashes($string);

$query = "INSERT yabg_inhoud (id, naam, email, homepage, bijdrage, datum)
VALUES ('', '" .
safe_text($_POST['naam']) . "', '" .
safe_text($_POST['email']) . "', '" .
safe_text($_POST['homepage']) . "', '" .
safe_text($_POST['bijdrage'], $toegestane_tags) . "', '" .
safe_text($_POST['datum']) . "')";

}
}

Er zit nog meer onder vandaar geen php afsluiting.
Precies waar ik al bang voor was. Die safe_text functie is zinloos voor je database beveiliging, gebruik hiervoor altijd de functies die bij je database horen, dus mysql(i)_real_escape_string, of gebruik prepared statements.
Strip_tags over data heen halen die naar de database gaat is vragen om vernielen van je data, doet dit dus heel erg niet. Wanneer je formatting wil toepassen doe je dit bij weergave, niet bij opslaan. De data die je opslaat wil je altijd zo dicht mogelijk bij het origineel houden.

Als dit in dat boek staat dan brengt Peter Kassenaar het er niet veel beter vanaf...

Reageren