Login Retreive lost passwordRegister
Search

Forum Index / NL Forum / Samenvoegen textfield en selecfield

[ This topic is solved ]

  Michel 21 July 08 / 15:54  
Changed at 21 July 08 / 15:57
Hallo,

Ik probeer een controle te maken voor domeinnamen of die reeds bestaat. Helaas krijg ik de myValidation function niet goed. Iemand een idee wat er niet goed gaat?

Het is niet duidelijk in de manual welke variabelen er gebruikt kunnen worden in de function myValidation. Ik ben ook maar een beginner met php (wel programmeer ervaring uit het verleden), dus ben afhankelijk van voorbeelden.

Groetjes Michel

 

$domeinExtensie = array(
    "0"          => "Maak 1 of meerdere keuze(s),",
    ".nl"        => ".nl",
    ".com"     => ".com",
    ".net"      => ".net",
    ".org"      => ".org",
    ".be"       => ".be",
    ".eu"       => ".eu", 
    ".info"     => ".info",
    ".nu"       => ".nu"
); 

// include the class
include_once("validate/class.FormHandler.php");
global $form;
// create a new formhandler object
$form =& new FormHandler();

// textfield which we want to validate
// with our OWN function called myValidator
$form -> textField("Domeinnaam: ", "domeinNaam", FH_NOT_EMPTY);
$form -> selectField("Domein extensie(s): ", "extensie", $domeinExtensie, "myValidator", false, true);
// submitbutton
$form -> submitButton("Ga verder naar stap 2");

// set the handler
$form -> onCorrect("doRun");

// flush it
$form -> flush();

// the handler function
function doRun($data ) 
{
    foreach ($data['extensie'] as $domeinExtensie)
    {
    echo $data['domeinNaam']."$domeinExtensie <br><br>"; 
    }
}

// Our own validation function!!!!
function myValidator($value) 
{
global $form;
    // check the value
    
    $domein = $value['domeinNaam'];
    $extensie = $value['extensie'];
    
    $check = checkdnsrr("$domein$extensie.","NS");
    $dubbelcheck = checkdnsrr("$domein$extensie.","A");
    if($check && $dubbelcheck == 1)
    {
        return "Helaas, ".$domein.$extensie. "is niet beschikbaar voor registratie.";
    }
    else
    {
        return "ok";
    }
    
}
  

  Johan Wiegel (Admin) 21 July 08 / 16:19  
zoiets:

<?php
// include the class
include 'includes/FH3/class.FormHandler.php';

$domeinExtensie = array(
    
"0"          => "Maak 1 of meerdere keuze(s),",
    
".nl"        => ".nl",
    
".com"     => ".com",
    
".net"      => ".net",
    
".org"      => ".org",
    
".be"       => ".be",
    
".eu"       => ".eu"
    
".info"     => ".info",
    
".nu"       => ".nu"
); 


// create a new formhandler object
$form =& new FormHandler();

// textfield which we want to validate
// with our OWN function called myValidator
$form -> textField("Domeinnaam: ""domeinNaam"FH_NOT_EMPTY);
$form -> selectField("Domein extensie(s): ""extensie"$domeinExtensienullfalsetrue);
// submitbutton
$form -> submitButton("Ga verder naar stap 2");

// set the handler
$form -> onCorrect("myValidator");

// flush it
$form -> flush();

// Our own validation function!!!!
function myValidator$aData 
{
    foreach( 
$aData['extensie'] AS $extensie )
    {    
        
$check checkdnsrr$aData['domeinNaam'].$extensie,"NS");
        
$dubbelcheck checkdnsrr($aData['domeinNaam'].$extensie,"A");
        if(
$check && $dubbelcheck == 1)
        {
            echo 
"Helaas, ".$aData['domeinNaam'].$extensie" is niet beschikbaar voor registratie.<br />";
        }
        else
        {
            echo 
$aData['domeinNaam'].$extensie" is beschikbaar voor registratie.<br />";
        }
    }
}
?>

  Michel 21 July 08 / 18:23  
Johan,

Thanx, dit is wat ik zocht. Super!!!

Maar met nog 1 heel klein vraagje: Kan ik de melding ook naast de selectfield krijgen ipv een nieuw scherm! Ik wil in 4 stappen het form laten invullen en alleen wanneer er geen fouten zijn ze naar de volgende stap gaan.

Bedankt voor de snelle reactie!

Groetjes Michel

  Johan Wiegel (Admin) 21 July 08 / 21:48  
<?php
// include the class
include 'includes/FH3/class.FormHandler.php';

$domeinExtensie = array(
    
"0"          => "Maak 1 of meerdere keuze(s),",
    
".nl"        => ".nl",
    
".com"     => ".com",
    
".net"      => ".net",
    
".org"      => ".org",
    
".be"       => ".be",
    
".eu"       => ".eu"
    
".info"     => ".info",
    
".nu"       => ".nu"
); 


// create a new formhandler object
$form =& new FormHandler();

// textfield which we want to validate
// with our OWN function called myValidator
$form->SetMask'<tr><td valign="top">%title%</td><td valign="top">%seperator%</td><td valign="top">%field%</td><td>%error%</td></tr>' );
$form -> textField("Domeinnaam: ""domeinNaam"FH_NOT_EMPTY);
$form -> selectField("Domein extensie(s): ""extensie"$domeinExtensie'myValidator'falsetrue);
// submitbutton
$form -> submitButton("Ga verder naar stap 2");

// set the handler
$form -> onCorrect("doRun");

// flush it
$form -> flush();

// Our own validation function!!!!
function myValidator$aData 
{
        global 
$form;
        
$sDomein $form->GetValue'domeinNaam' );
        
$sError '';
        foreach( 
$aData AS $id => $extensie )
    {    
        
$check checkdnsrr$sDomein.$extensie,"NS");
        
$dubbelcheck checkdnsrr$sDomein.$extensie,"A");
        if(
$check && $dubbelcheck == 1)
        {
                    
$sError .= "Helaas, ".$sDomein.$extensie" is niet beschikbaar voor registratie.<br />";
        }
    }
        if( 
$sError == '' )
        {
            return 
true;
        }
        else
        {
                 return 
$sError;
        }
}

function 
doRun$aData )
{
    echo 
'<pre>';
    
print_r$aData );
    echo 
'</pre>';
}
?>

  Michel 22 July 08 / 09:12  
Johan,

Super! Thanx, dit is wat ik moest hebben!

Groetjes Michel

  Top


powered by PHP-GLOBE   © 2004 - 2008 FormHandler. All rights reserved.   -   Open source license