Toon posts:

[PHP] Andere field check -> form

Pagina: 1
Acties:
  • 75 views sinds 30-01-2008

Verwijderd

Topicstarter
Morgen,

Zit met een klein probleempje. Heb een form gedownload ;) met een ingebouwde field check. Nu word die check uitgedrukt in een aparte regel welke onder het vak komt te staan als het vak niet goed is ingevuld. Nu trekt die regel heel de lay out uit elkaar dus zou ik graag dat de check/error melding in een popup venstertje komt (javascriptje dus).

Heb op Google gekeken en in de search maar kan niet echt vinden wat ik zoek. Ben verder niet echt super ervaren in php, heb al wel het form aaridg aangepast ;)

Status momenteel:

code:
1
2
3
4
5
function CheckEmail($email) {
        $regex = '/^([a-zA-Z0-9_\-\.]+)@((\\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|
(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/';
        return preg_match($regex, $email) ? True : $this->_email;
    }

Dit is dus de check.

De output is als volgt:
code:
1
$this->_email         = 'Please fill in your e-mail address!';


Nu lijkt het mij dus dat bij die $this->_email = , een scriptje zal moeten komen voor het popup venster. 8)7

Wie kan mij hierin bijstaan?

Mvg,
Maarten

[ Voor 5% gewijzigd door Verwijderd op 09-11-2004 09:13 . Reden: Regel 2 en 3 horen aan elkaar, maar trekt de layout uit elkaar :) ]


Verwijderd

een popup creeer je in een JavaScript functie door het commando window.open met de URL, en een sloot specificaties als: moet het een toolbar hebben, scrollbars etc
Houd er wel rekening mee overigens, dat veel browsers popups automatisch killen dus dat je code misschien helemaal niet uitgevoerd wordt?

Verwijderd

Topicstarter
Bedoel dus een popup in de vorm van zon foutmelding hè.
Sorry voor de onduidelijkheid. De functie window.open kende ik al ;)

Vind dus op google dit:
code:
1
2
3
4
  if (form.email.value == "") {
    alert( "Please enter your email address." );
    form.email.focus();
    return false ;


maar kan het niet implementeren?

[ Voor 46% gewijzigd door Verwijderd op 09-11-2004 09:31 ]


Verwijderd

PHP:
1
$this->_email         = '<script language="javascript">alert(\'email adres invullen!!\');</script>';


of zoiets..

Verwijderd

Topicstarter
Parse error: parse error, unexpected '<' in /home/sites/site239/web/class.FormHandler.php on line 73

Krijg dan deze melding.. :(

en als ik dat alleen tussen de 'zet dus zonder <? dan zet ie het gewoon als tekst neer :(

Edit:

Is het nietm ogelijk om dat script eenmalig erin te zetten ofzo en dan die functie aan te roepen tussen die ' ' ?

[ Voor 58% gewijzigd door Verwijderd op 09-11-2004 11:24 ]


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

Die post van pb_dj slaat niet echt ergens op... Je doet er wijs aan dat te negeren.

Waar wil je de check uitvoeren? Client-side of serverside?
Je laat namelijk een serverside check zien, maar een clientside foutmelding...

Localhost, sweet localhost


Verwijderd

Topicstarter
uhhmmmmm hehe

Form bestaat uit 2 onderdelen

een index.php
waar de check word aangeroepen vanuit het bestand
class.formhandler.php

Zo staat het stuk in formhandler, waar naar mijn mening dan de melding wordt uitgehaald.
code:
1
2
3
4
5
6
7
8
9
10
11
12
$this->sFormName      = 'AutoGeneratedForm'; 
        $this->_save          = 'Opslaan';
        $this->_reset         = 'Reset';
        $this->_cancel        = 'Annuleren';
        $this->_password      = 'Alleen invullen als u uw wachtwoord wilt wijzigen';
        $this->_error         = 'Please fill in this field!';
        $this->_email         = 'Please fill in your e-mail!';
        $this->_postcode      = 'U heeft geen juiste postcode opgegeven!';
        $this->_numeric       = 'U heeft geen juiste waarde opgegeven!';
        $this->_phone         = 'U heeft geen juist telefoon nummer opgegeven!';
        $this->_date          = 'De dag-maand-jaar combinatie is niet mogelijk!';
        $this->_uploadSize    = 'Uw bestand is groter dan de maximale toegestaande bestandsgrootte (%s kb)!';

Verwijderd

als ik begrijp wil je het volgende, wanneer iemand denkt dat ie klaar is en op submit drukt dat er dan het volgende gebeurd.

1. Er wordt een popup geopend.
2. De 'script die dan geladen wordt controlleerd alle gegevens van het formulier'
3. Wanneer fouten gevonden laat deze zien.
4. Anders meld even dat de gegevens zijn opgeslagen, sluit popup en ga naar het volgende scherm met de 'opener'

?

ofnie?

Verwijderd

kvdveer schreef op 10 november 2004 @ 13:23:
Die post van pb_dj slaat niet echt ergens op... Je doet er wijs aan dat te negeren.
Zo gek is het niet hoor (als het zou werken tenminste). Je hebt alleen 1 probleem, als meer velden fout zijn ingevuld, krijg je ook meerdere pop-ups, flink irritant lijkt me. Maar dat is mijn probleem niet :p

Om het scriptje van pb_dj werkend te krijgen, zal je in je form library moeten zoeken waar de foutmelding wordt uitgeprint. Waarschijnlijk staat hier htmlspecialchars() oid omheen. Haal deze functie weg en de javascript code zal wel uitgevoerd worden. Misschien staat dit ook wel ergens anders, dan moet je ff kijken wat er met je variabele gebeurt als ie uit Check_Email() gereturnt wordt.

Simpel voorbeeldje (is in jouw script waarschijnlijk iets complexer ;)):

PHP:
1
2
3
4
5
<?php
echo htmlspecialchars($error);
// wordt...
echo $error;
?>

Verwijderd

Verwijderd schreef op 09 november 2004 @ 09:12:
Morgen,

Zit met een klein probleempje. Heb een form gedownload ;) met een ingebouwde field check. Nu word die check uitgedrukt in een aparte regel welke onder het vak komt te staan als het vak niet goed is ingevuld. Nu trekt die regel heel de lay out uit elkaar dus zou ik graag dat de check/error melding in een popup venstertje komt (javascriptje dus).
Mijn genoemde oplossing zou gewoon moeten werken, maar ik sluit me aan bij _J_R_R, ik denk niet dat het wenselijk is een alert te krijgen bij ieder verkeerd ingevulde formulierveld. Maar dat moet je zelf weten :)

Wat je anders zou kunnen doen is: voorkomen dat je lay-out uitgerekt wordt. Dat kan door onder het veld een vaste ruimte reserveren voor de foutmelding, door bijvoorbeeld een fixed height in te stellen op de plek van de foutmelding in HTML of CSS. Maar dat is een ander GOT forum ;)

[ Voor 3% gewijzigd door Verwijderd op 11-11-2004 09:08 ]


Verwijderd

Topicstarter
Ik zal het eens makkelijker maken :)

Kijk maar eens op
www.mania.nl/maniaC.php (geen spam :))

nen vul maar eens niks in, dan zie je wat ik bedoel :)

  • pthn
  • Registratie: Februari 2003
  • Laatst online: 31-07-2023
Ik heb hetzelfde ook wel eens bij de hand gehad, ik gooide de foutmeldingen bovenin de pagina en bij meer dan 5 fouten, toonde ik alleen de 1e 5 en de toevoeging "en meer". Je kan natuurlijk ook een extra check inpassen die bij "alles leeg" een melding geeft, dan heb je de grootste kans op problemen wel uitgesloten.

Verwijderd

Topicstarter
Al krijgen we 1 melding die dan zegt at het niet goed is.. maakt mij ook niet uit :)

Verwijderd

Het probleem is nu wel duidelijk, maar wat wil je nu precies dat wij eraan doen?

Verwijderd

Topicstarter
8)7

Of hier misschien iemand is die weet hoe ik die melding die je nu krijgt eruit krijgt en ipv die melding dus een alerter o.i.d. zodat de lay out aan mekaar blijft hangen.

Verwijderd

De tips zijn gegeven, je zult zelf de source moeten doorzoeken waar je dit kan aanpassen, die hebben wij niet.

Je kan jouw probleem op 100.000 manieren oplossen, tot het opnieuw schrijven van de formulier controle toe. Ik zie hier niet echt een programmeer probleem, maar meer een probleem dat je niet weet waar je je gedownloade script of html moet aanpassen.

voor de duidelijkheid nogmaals de tips:
*this->foutmeldingen :opsparen en ergens anders afdrukken
*this->foutmeldingen : een javascriptje in gooien met een alert
*html aanpassen zodat je lay-out niet verspringt.

suc6 in ieder geval :)

  • Ebayzo
  • Registratie: Juli 2001
  • Laatst online: 17-10-2022

Ebayzo

hij/hem

:X

Niks gezegd :P

Ben brak van die ***** HCC :P

[ Voor 93% gewijzigd door Ebayzo op 12-11-2004 21:34 ]

Default blanke hetero


Verwijderd

EbAyzo schreef op vrijdag 12 november 2004 @ 18:38:
[...]
Goh..goed voorbeeld :/ als je niks invult wordt de hele lay out uit elkaar getrokken
Dat is nou juist het probleem |:(

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

zoals hiervoor gezegd:
Je kan jouw probleem op 100.000 manieren oplossen, tot het opnieuw schrijven van de formulier controle toe. Ik zie hier niet echt een programmeer probleem, maar meer een probleem dat je niet weet waar je je gedownloade script of html moet aanpassen.
Er is geen programmeer probleem, behalve dat jij niet weet waar je het script moet aanpassen. Dit zal je toch echt zelf moeten uitzoeken, heb je een echt programmeer probleem ben je altijd welkom om je vragen te stellen (aan de hand van de FAQ uiteraard..)

Support op scripts die je ergens hebt gedownload doen we natuurlijk niet aan. ( wij zijn nog steeds geen helpdesk.)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.