een vraag over Form Validation Class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Elian degroot

elian degroot

30/11/2012 15:05:54
Quote Anchor link
Beste,

Ik wil graag het Form Validation Class gebruiken die op: http://www.phphulp.nl/php/script/classes/form-validation-class/1946/ staat.

Ik heb al aanpassingen gedaan en het werkt prima.
Maar ik had graag nog een textearia met 5 rows erbij gehad waar ook verplicht iets moet worden ingevuld.
Na vele pogingen heef ik het op en vraag hier nu om hulp.
Kan mij iemand op weg helpen?

Met dank
 
PHP hulp

PHP hulp

08/11/2024 19:17:24
 

30/11/2012 15:21:13
Quote Anchor link
Probeer dit eens. Ik heb het niet getest dus kan een foutje inzitten.

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
 public function setTextarea($name, $label = '', $example = '')
    {

        $field = '';
        
        //Check if a label is set, if so display the label
        if(isset($label))
        {

            $field .= '<label for="'.$name.'">'.$label.'</label>';
        }

        
        //Check if an example is set
        if(isset($example))
        {

            $field .= ' <span class="example">'.$example.'</span>';
        }

        
        //Check if we have errors for this field, if so display them
        if(isset($this->_validationErrors[$name]))
        {

            $field .= '<p class="error-message">'.$this->_validationErrors[$name].'</p>';
        }


        //Create the input tag and set some attributes
        $field .= '<p><textarea id="'.$name.'" name="'.$name.'"';
        
        //Check if we have errors, if so create a css class for a red border
        if(isset($this->_validationErrors[$name]))
        {

            $field .= ' class="error-border"';
        }

        
        //Check if data was posted, if so set the value attribute to display it in the field
        if(isset($this->_post[$name]))
        {

            $value = $this->_post[$name];
        }

    
        //Close the field
        $field .= '>'.$value.'</textarea></p>';
        
        
        
        return $field;
    }

?>
 
Elian degroot

elian degroot

30/11/2012 16:43:18
Quote Anchor link
Undefined variable: on line 40

Na een tijd zoeken zie niet niet waar en op welke line die onbekende $ kan zitten.
Ik doe nogthans echt mijn best
 
Kris Peeters

Kris Peeters

30/11/2012 16:51:48
Quote Anchor link
Als de if() op lijn 34 false geeft, wordt de code binnen de accolades niet uitgevoerd en wordt $value dus niet aangemaakt.

In zo'n gevallen kan je best de variabele al aanmaken voor de if, met een standaard waarde (lege string).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
        $value
= '';
        //Check if data was posted, if so set the value attribute to display it in the field
        if(isset($this->_post[$name]))
        {

            $value = $this->_post[$name];
        }

    
        //Close the field
        $field .= '>'.$value.'</textarea></p>';
?>
 
Elian degroot

elian degroot

30/11/2012 17:32:15
Quote Anchor link
Bedankt voor de tip,
ik kan nu verder doen om het te laten werken
nog 1 en ander uitzoeken nu

Toevoeging op 01/12/2012 08:03:18:







Toevoeging op 01/12/2012 08:04:54:

Nog een foutje gevonden:

lijn 40 moet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$field .= ' /></textarea></p>';

zijn.

Toevoeging op 01/12/2012 11:21:03:

ik heb nu nog een vraag,
ik wil het form mailen,
maar ik krijg enkel het aanbodveld op de ontvangen mail,
maar alle vars kan ik wel echo'en
wat doe ik nu mis?

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
29
30
31
32
33
34
35
36
37
38
39
40
41
if($validation->validateFields($_POST))
        {
            //validateFields() returns TRUE, Process the mai
             echo"alles ok";
             echo "<br />";
             echo ($_POST['name']);
             echo "<br />";
             echo ($_POST['vname']);
             echo "<br />";
             echo ($_POST['tel']);
             echo "<br />";
             echo ($_POST['email']);
             echo "<br />";
             echo ($_POST['bbat']);
             echo "<br />";
             echo ($_POST['tafels']);
             echo "<br />";
             echo ($_POST['aanbod']);
             echo "<br />";
             echo "regelment gelezen";
             echo "<br /><br />";  
            
             $to = 'naar waar de mail verstuurd word ';
    $onderwerp = 'PHP Email formulier ingevuld';
    
    $bericht   = $_POST['name']."\n\n";
    $bericht   = $_POST['vname']."\n\n";
    $bericht   = htmlspecialchars($_POST['tel'])."\n\n";
    $bericht   = htmlspecialchars($_POST['email'])."\n\n";
    $bericht   = htmlspecialchars($_POST['bbat'])."\n\n";
    $bericht   = htmlspecialchars($_POST['tafels'])."\n\n";
    $bericht   = htmlspecialchars($_POST['aanbod'])."\n\n";
    
    
    $headers   = "from: ".htmlspecialchars($_POST['email'])."\n\n";
        
    mail($to, $onderwerp, $bericht, $headers);



        }


Kan mij iemand een tip geven?
Gewijzigd op 01/12/2012 08:05:43 door elian degroot
 



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.