is deze php code nog anno 2013

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack Developer Industriële Automatiseri

Raster wordt continu betrokken bij complexe en baanbrekende projecten in industriële automatisering. Ons team is gespecialiseerd in productie automatisering en proces automatisering projecten waarin procesveiligheid een belangrijk aspect is. Ons compact en groeiend OX (Operational Excellence) team ontwikkelt, configureert en levert support op zelfontwikkelde applicaties waarmee onze klanten hun productieprocessen slimmer, sneller, goedkoper en veiliger maken. Operational Excellence wordt zichtbaar gemaakt in resultaten. Bij bedrijven met dezelfde strategie, zal een operationeel excellent bedrijf een lager operationeel risico, lagere operationele kosten hebben en relatief meer winst maken. Het Raster OX team laat haar klanten de resultaten behalen door hun eigen procesdata

Bekijk vacature »

Anthony de meulemeester

anthony de meulemeester

02/06/2013 23:37:15
Quote Anchor link
beste mensen,

ik lees tegenwoordig veel over PDO, etc.. en vroeg me af of mijn code die ik toepas op al men applicaties nog goed is voor deze tijd of moet ik overstappen op andere programmeer wijze in php.

een voorbeeld van een functie die ik gebruik om een user te registreren.

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
24
25
26
27
28
<?php
function setUser($name, $username, $email, $password) {
        
        $q1 = query("SELECT email FROM users WHERE email = '".escape($email)."'");
        
            if(numrows($q1)) {
                print "e-mail allready registered ";
            }

            
        $q2 = query("SELECT username FROM users WHERE username = '".escape($username)."'");
        
            if(numrows($q2)) {
                print "username allready registered";
            }

        
        $q = query("INSERT INTO users (name, username, email ,password)
                    VALUES ('"
.escape($name)."',
                                                '"
.escape($username)."',
                                                '"
.escape($email)."',
                                                '"
.escape(md5($password))."')");
                    
            if($q) {
                header('location:login.php');
            }
else {
                //sqlError(); // can be deleted
            }
    }

?>
 
PHP hulp

PHP hulp

20/10/2021 02:45:32
 
- Ariën -
Beheerder

- Ariën -

03/06/2013 00:14:21
Quote Anchor link
Waar komen de functies query, en escape vandaan?
 
- SanThe -

- SanThe -

03/06/2013 01:51:36
Quote Anchor link
Waarom 3 query's als je gewoon een INSERT kan doen en dan de eventuele error afvangen en daar op reageren. Moet je wel de velden username en email even UNIQUE maken.
 
Anthony de meulemeester

anthony de meulemeester

03/06/2013 08:03:27
Quote Anchor link
query en escape zijn functies om alles korter te maken.

@santhe: klopt maar het moet voor de gebruiker wat visueel in orde zijn die foutmelding.

de vraag is of ik deze werkwijze in de toekomst kan verder kan gebruiken of moet ik overschakellen op PDO en andere technieken binnen php
 
Ward van der Put
Moderator

Ward van der Put

03/06/2013 08:22:23
Quote Anchor link
Anthony de meulemeester op 03/06/2013 08:03:27:
@santhe: klopt maar het moet voor de gebruiker wat visueel in orde zijn die foutmelding.
Maar een foutmelding zoals "e-mail allready registered" is een privacylek: anderen kunnen enkel en alleen door e-mailadressen in te voeren nagaan wie er geregistreerd zijn.

Anthony de meulemeester op 03/06/2013 08:03:27:
de vraag is of ik deze werkwijze in de toekomst kan verder kan gebruiken of moet ik overschakelen op PDO en andere technieken binnen php
Ja, waarom niet? Je hebt al redelijk abstracte "custom" functies zoals escape(), query() en numrows(), en die zijn later gemakkelijk te herschrijven. Of je ze nu onderbrengt in een objectgeoriënteerde databaseklasse of een procedurele functiebibliotheek, is van ondergeschikt belang.
Gewijzigd op 03/06/2013 08:22:51 door Ward van der Put
 
N K

N K

03/06/2013 09:41:11
Quote Anchor link
Ward van der Put op 03/06/2013 08:22:23:
Anthony de meulemeester op 03/06/2013 08:03:27:
@santhe: klopt maar het moet voor de gebruiker wat visueel in orde zijn die foutmelding.
Maar een foutmelding zoals "e-mail allready registered" is een privacylek: anderen kunnen enkel en alleen door e-mailadressen in te voeren nagaan wie er geregistreerd zijn.


@Ward: Ik heb zelf ook zoiets ingebouwd bij een 'houd me op de hoogte' blok.
Gebruikers moeten dan hun email invullen en krijgen dan periodiek een email. Als een gebruiker zijn eigen email twee keer invoert krijgt hij deze melding. Moet ik de melding anders omschrijven of bedoel je iets anders? Is hier een captcha noodzakelijk? Sorry voor het kapen van deze thread maar was even benieuwd...
Gewijzigd op 03/06/2013 09:41:34 door N K
 
Ward van der Put
Moderator

Ward van der Put

03/06/2013 09:52:50
Quote Anchor link
N K op 03/06/2013 09:41:11:
Ward van der Put op 03/06/2013 08:22:23:
Anthony de meulemeester op 03/06/2013 08:03:27:
@santhe: klopt maar het moet voor de gebruiker wat visueel in orde zijn die foutmelding.
Maar een foutmelding zoals "e-mail allready registered" is een privacylek: anderen kunnen enkel en alleen door e-mailadressen in te voeren nagaan wie er geregistreerd zijn.


@Ward: Ik heb zelf ook zoiets ingebouwd bij een 'houd me op de hoogte' blok.
Gebruikers moeten dan hun email invullen en krijgen dan periodiek een email. Als een gebruiker zijn eigen email twee keer invoert krijgt hij deze melding. Moet ik de melding anders omschrijven of bedoel je iets anders? Is hier een captcha noodzakelijk? Sorry voor het kapen van deze thread maar was even benieuwd...

Je moet die algemene vraag eigenlijk bij elke melding stellen: geeft de melding niet méér prijs dan de bedoeling is?

Bij een aanmelding voor een nieuwsbrief is het gegeven dat een e-mailadres al is opgenomen niet relevant. Behandel nieuwe en bestaande e-mailadressen in de melding hetzelfde, maar doe onzichtbaar achter de schermen iets anders. Meld gewoon dat het e-mailadres is toegevoegd. Punt uit, meer hoeft een gebruiker niet te weten.
Gewijzigd op 03/06/2013 10:00:52 door Ward van der Put
 
N K

N K

03/06/2013 10:14:06
Quote Anchor link
oke thanks!
 
- Ariën -
Beheerder

- Ariën -

03/06/2013 11:01:46
Quote Anchor link
Anthony de meulemeester op 03/06/2013 08:03:27:
query en escape zijn functies om alles korter te maken.

Waarom zou je het korter willen maken? met een goede editor heb je zulke overhead niet nodig, je kan prima met 'autocomplete' aan grote functies die je in je project hebt voor een deel al uittypen, waar een paar klikken op je cursortoetsen en een enter al voldoende is.

Tevens ligt het er echt aan wat die functies doen, om te kunnen beoordelen of je script wel correct zal werken in PHP 5.4 en/of PHP 5.5.
Gewijzigd op 03/06/2013 11:02:47 door - Ariën -
 



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.