Gezocht, kenners van php + smarty (template files), voor probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dennis Pellegrims

Dennis Pellegrims

16/10/2010 16:55:13
Quote Anchor link
Enige tijd terug nam ik een website (een adverteerwebsite als het ware) over van iemand. Ik zou daaraan bepaalde zaken veranderen etc etc. Daar ben ik ook al een ruime tijd mee bezig.

Op de website kunnen vrouwen betalend adverteren, door middel van het invullen van een formulier (waarbij bepaalde velden verplicht zijn - deze info staat in een php bestand - met daar bij eventueel de foutmelding die moet verschijnen als men een veld foutief invult of een verplicht veld niet invult).

Dat is in feite het bovenste deel van het formulier. Zo was dat vroeger bij die andere persoon althans.

Vervolgens dient men in te bellen naar een telefoonnummer om de betaling te voldoen, waarbij men een pincode krijgt, na de betaling via de telefoon, dient men net die code in te vullen in een veld in het formulier.

PROBLEEM:
De vorige eigenaar werkte met het systeem SMARTY, mij geheel onbekend, maar het kwam er op neer dat hij daardoor zelf makkelijk files kon aanpassen, het gaat daarbij om templates, .tpl files.
Het document dat ik dus wilde aanpassen, in het formulier, is een .tpl file.
Daarin blijkt dat er geen info te vinden is omtrent de eigenschappen van de velden (welke verplicht zijn, en welke foutmelding er eventueel moet komen te staan als men iets fout invulde of een verplicht veld net niet invulde). Die gegevens zijn omschreven in een .php file in een andere map.

Mijn grote probleem en vraag … omdat het systeem niet sluitend werkte, zou ik de file willen ombouwen, waarbij de bovenste helft van het formulier op zich eerst gecontroleerd kan worden om te kijken of de velden correct werden ingevuld, pas als dat zo is, zou ik de mensen de betaling willen laten uitvoeren, door in te bellen, blijkbaar staat dus het veld waar men de pincode moet invullen in hetzelfde formulier, voor mij geen probleem, …. Maar het probleem dat nu van toepassing is, voor mij duidelijk erg storend trouwens, is het feit dat men eerst de eerste velden invult, nadien meteen dient in te bellen en dan de pincode moet ingeven.

Gesteld dat iemand een verplicht veld NIET invult, en uiteindelijk zijn advertentie wenst te plaatsen, klikt dus na het inbellen voor de betaling en het ingeven van de pincode op ‘Plaats advertentie’.
Deze persoon zal dan meteen de melding krijgen dat bvb veld X verplicht ingevuld moet worden, … maar wat heel erg vervelend is, is dat de geldige pincode dan wel gevalideerd werd, en de betaling dus aankomt, maar de klant ziet geen advertentie verschijnen omdat deze een veld vergat in te vullen. De pincode zal na correctie niet meer geldig zijn.

Dat kan ik natuurlijk niet maken, dat is heel klantonvriendelijk.

Nu was de gedachte, om de bovenste helft, het invullen van de gegevens EN controle daarop als STAP 1 te zien, waardoor iemand dus gegevens kan invullen en eerst kan controleren of alles in orde is. Als dat zo is, dan pas zou men de betaling moeten kunnen uitvoeren, waarbij enkel nog de pincode ingevuld zou moeten worden (na inbellen voor betaling), en enkel die code zou dan nog gecontroleerd moeten worden, zodat wanneer iemand een correcte pincode ingeeft, de advertentie gewoon geplaatst kan worden.

Dit is kort (hoewel) even uitgelegd wat het probleem juist is bij mij. Wie staat er open om mij hierbij te helpen? Via msn kan ik bvb uitleg geven en samen even kijken naar de site waar het om gaat. Ik kan via die weg altijd meer uitleg geven. Ik geraak er zelf echt niet uit, helaas is dit natuurlijk ook nog eens in feitet het belangrijkste deel van de website.

Indien iemand interesse heeft in deze probleemstelling, laat me gerust even weten hoe ik u kan en mag contacteren aub. Liefst per msn of mail. Dank u vriendelijk. Liefst ook een persoon die ouder is dan 18.

Groeten
Dennis
 
PHP hulp

PHP hulp

23/01/2020 12:31:36
 
Aad B

Aad B

16/10/2010 17:07:16
Quote Anchor link
Hmm,
"op de website kunnen vrouwen betalend adverteren, liefst ook een persoon die ouder is dan 18...."
Je hebt een prostitutie website overgenomen ? Jammer, daar mag ik niet aan meewerken van mijn moeder.
Gewijzigd op 17/10/2010 09:35:29 door Aad B
 
Dennis Pellegrims

Dennis Pellegrims

16/10/2010 23:30:46
Quote Anchor link
@ Aadn dat noemen wij een erotische adverteersite, met wat die dames wel of niet doen heb ik niets te zien. TEvens worden er ook geen wetten overtreden of wat dan ook. Verder wens ik daar niet op te reageren, voor mij is een site een site, het principe blijft hetzelfde. Dank alvast voor uw boeiende reactie.
 
Bart V B

Bart V B

17/10/2010 10:21:31
Quote Anchor link
Dag Dennis,

Ikzelf heb ook niet echt veel ervaring met Smarty, misschien ook niet helemaal het antwoord waarop je zit te wachten, maar waarom sloop je het gehele smarty systeem niet eruit? En ga je niet gewoon je eigen systeem gebruiken waarin je wel bekend bent? Dat lijkt me handiger.

Het is jammer dat je geen relevante code post (misschien ook begrijpelijk),
want zo word het een beetje gokken.
Maar vermoedelijk zit er iets mis dat niet eerst het formulier gevalideert word en vervolgens verder gaan.

Dus waar het een beetje op te neer komt:
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

// hier krijg je een resoponse van de betaling..
$payment  = true;
// na de responce gaan we posten.. (het probleem)
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

   if(isset($_POST['code']) && trim($_POST['code']) == '')
   {

      echo 'Hey je hebt de code niet ingevuld!';
   }
}

?>
 
Dennis Pellegrims

Dennis Pellegrims

17/10/2010 13:19:02
Quote Anchor link
Dank Bart V B!
Dit is tenminste een ernstige en volwassen reactie.

Ik had eigenlijk enkel de intentie was in feite gewoon zaken zelf trachten aan te passen, veel staat in php terwijl ik daar ook heel weinig kaas van gegeten heb. Maar ik ben er toch ingeslaagd om heel wat zaken te veranderen, door iets te proberen en daarna te kijken of het okee was etc etc, er kroop dus al best veel tijd in, ... De site op zich is zowat helemaal klaar, enkel dus die vervelende toepassing van het betalen wil niet lukken.

Dat ik geen code doorgaf is omdat ik eerst iemand zoek die denkt het te kunnen oplossen, begrijp je?

Werken met die template files in smarty is op zich geen probleem, het gaat nu echter om het uit mekaarhalen van een formuliertje DENK ik, en dat lukt me helemaal niet. Voor het overige moet ik niet eens echt gebruik maken van smarty, dus ik zou het gewoon zo willen laten.

Maar toch dank ik u voor uw reactie.
Vriendelijke groeten
 
Bart V B

Bart V B

17/10/2010 14:13:42
Quote Anchor link
Quote:
Dat ik geen code doorgaf is omdat ik eerst iemand zoek die denkt het te kunnen oplossen, begrijp je?


Mja, dat begrijp ik wel, echter op een openbaar forum werkt het meestal zo dat je een vraag post met relevante code.. Dan heb je veel meer kans om sneller geholpen te worden. ;)

Ik begrijp ook omdat het om een website gaat die bedoeld is voor 18+ dat je geen links hier neer zet. Dat is ook niet nodig, en denk ook niet dat het een probleem zal zijn dat je hier relevante code neerzet. Want vermoedelijk zit het hem in het omdraaien van de validatie ten opzichte van je post vanuit je formulier.

Dus zie ik het probbleem niet helemaal waarom je geen relevante code post. De response link kan je verwijderen en ook de links dwe hebben alleen maar phpcode nodig.
 
Niek s

niek s

17/10/2010 14:45:55
Quote Anchor link
Omdat je niet echt een echte structuur geeft van de code, of hoe de gedachte er achter is, kunnen we alleen gokken.

Een mogelijk probleem is natuurlijk wat Bart zegt. Waarschijnlijk ga je eerder met de data wat doen, terwijl je eigenlijk nog niet klaar was met valideren.
Wellicht (afhankelijk van de opbouw van de code, structuur) kun je wat componenten omwisselen?
Zorg dat je eerst de algehele validatie voltooid hebt, alvorens verder te gaan. Zorg dat de validatie van de input de allereerste actie is.

Wat een ander probleem zou kunnen zijn, is dat het op 2 plaatsen gecontroleerd wordt, of op 1 plek vergeten is het te controleren. Dus bij het betalen wordt er gecontroleerd, maar er is vergeten om dat bij het invoeren ook te doen. of de validatie methodes verschillen, Kijk daar dus ook eventjes naar.

Meer als dit giswerk kunnen we natuurlijk niet doen zonder code of een opbouw. Ook denk ik dat SMARTY geen 'reden van falen' is hierbij, het gaat hier duidelijk om een structuur probleem.
 
Pim -

Pim -

17/10/2010 17:54:18
Quote Anchor link
Je wil dus gewoon 1 formulier opsplitsen in twee delen en deel 2 pas laten zien als deel 1 ingevoerd en gevalideerd is? Dat is toch niet zo moeilijk?
 



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.