[Html & Php] controle in regristratie formulier werkt niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op www.ludesign.nl/cancergenomics/nieuw/submit2.php heb ik een inschrijfformulier staan.

- Aan dit documentje zit submit.php (in dezelfde map) gekoppeld die ervoor zorgt dat de gegevens op de juiste manier verstuur worden.
- Echter zit er ook een controle functie in submit2.php echter die schijnt gekoppeld te moeten blijven aan submit2.php wil die zijn functie uitvoeren en de gegevens controleren of deze wel volledig zijn ingevuld.

Weet iemand toevallig een oplossing?

Wat volgens mij het probleem is is dat hij niet EERST dit stukje code uit submit2.php uitvoerd voordat hij hem doorlinkt naar submit.php:

<?
// only validate form when form is submitted
if(isset($submit_button)){
$error_msg='';
if(trim($first_name_input)=='' || strlen(trim($first_name_input)) < 1 || strlen(trim($first_name_input)) > 25) {
$error_msg.="Please fill in your first name(s)<br>";
}
if(trim($surname_input)=='' || strlen(trim($surname_input)) < 1 || strlen(trim($surname_input)) > 25) {
$error_msg.="Please fill in your surname<br>";
}
if(trim($institute_input)=='' || strlen(trim($institute_input)) < 1 || strlen(trim($institute_input)) > 25) {
$error_msg.="Please fill in your affiliation name of institute<br>";
}
if(trim($city_input)=='' || strlen(trim($city_input)) < 1 || strlen(trim($city_input)) > 25) {
$error_msg.="Please fill in your affiliation city<br>";
}
if(trim($phone_input)=='' || strlen(trim($phone_input)) < 7) {
$error_msg.="Please fill in your phone number<br>";
}
if(trim($email_input)=='') {
$error_msg.="Please enter an email<br>";
} else {
// check if email is a valid address in this format username@domain.com
if(!ereg("[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]", $email_input)) $error_msg.="Please enter a valid email address<br>";
}

// display error message if any, if not, proceed to other processing
if($error_msg==''){
// other process here
} else {
echo "<font color=white>$error_msg</font>";
}
}
?>

[ Voor 187% gewijzigd door Verwijderd op 10-08-2005 14:13 . Reden: code toegevoegd ]


Acties:
  • 0 Henk 'm!

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Niet zonder relevante code :). Post dus eens de code die volgens jou het probleem veroorzaakt, dan kunnen we er naar kijken.

[ Voor 62% gewijzigd door AtleX op 10-08-2005 14:09 ]

Sole survivor of the Chicxulub asteroid impact.


Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 23:39
Verwijderd schreef op woensdag 10 augustus 2005 @ 14:04:
Wat volgens mij het probleem is is dat hij niet EERST dit stukje code uit submit2.php uitvoerd voordat hij hem doorlinkt naar submit.php:
Da's nogal logisch, aangezien je form gepost wordt naar submit.php

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hmm... is idd logisch ik heb hem nu dat stukje code in submit.php geplaatst maar ik wil nu dat hij:
- Als de gegevens niet compleet zijn hij de fouten weergeeft
- Anders dat hij laat zien dat de registratie succesvol is.
Weet iemand hoe ik dat op een goede manier kan doen.

Bijvoorkeur laat ik namelijk het liefst in het document submit2.php (het formulier zelf) zien wat de fouten zijn indien van toepassing anders dat je submit.php ziet met daarin de tekst "registration succesful"

Acties:
  • 0 Henk 'm!

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 23:39
Je kan submit2.php ook naar zichzelf posten, de gegevens controleren en pas doorsturen naar submit.php als alles correct is ingevuld.

Roomba E5 te koop


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
laatste korte vraag: met welke functies kan ik dat aangeven?

Acties:
  • 0 Henk 'm!

  • Helmet
  • Registratie: Januari 2002
  • Laatst online: 21-08 15:00
pseudo php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 $errors = array();
 if ($controle == false) { array_push($errors,array('txt' => 'Controle #1 is niet geldig')); }
 if ($controle2 == false) { array_push($errors,array('txt' => 'Controle #2 is niet geldig')); } 
 if (count($errors) > 0) { 
  echo 'De volgende fout(en) is/zijn opgetreden<ul>';
  foreach ($errors as $array)
  {
   echo '<li>' . $array['txt'] . '</li>';
  }
 echo '</ul>';
 }
else
{
 verwerk_form();
}

Icons are overrated


Acties:
  • 0 Henk 'm!

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 18-09 15:13
Krijg niet echt de indruk dat je zelf erg veel moeite doet om zelf je probleem op te lossen.
Doe daar wat aan. :)

Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op woensdag 10 augustus 2005 @ 14:47:
laatste korte vraag: met welke functies kan ik dat aangeven?
Door je action van je <form> element te wijzigen in dezelfde pagina (al dan niet via een PHP constante).

Je kan overigens code tussen [plain]
code:
1
[/] blokken stoppen, zie ook Overzicht van UBB-codes (onderin).

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Dit is toch wel basiskennis hoor hoe je een formpje naar zichzelf kan posten :)

Even hele snelle PHP speziaal voor jou:

PHP:
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
<?php

if( !isset( $_POST[ 'hidden'] ) )
{

  //form is niet gesubmit, laat het form zien

 print '<form method="post" action"'. $_SERVER[ 'PHP_SELF' ] .'">';
  print '<input type="hidden" name="hidden" value="poep">';
  print '<input type="submit" value="doIt">';
 print '</form>';

}
else
{

  //form is gesubmit, ik print hier de $_POST array, jij gaat hier validaten

 print '<pre>';
  print_r( $_POST );
 print '</pre>';

}

?>


Heb hem even op de hidden gegooid omdat als het goed is de submit value niet word gesubmit als je de enter toets gebruikt (staat me iets van bij, kan het ook helemaal mis hebben :> )

[ Voor 85% gewijzigd door supakeen op 10-08-2005 15:05 ]


Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 12-09 14:32

André

Analytics dude

Dit hoort in P&W :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zit nog steeds met het probleem dat ik hem niet doorgelinkt krijg naar submit.php die zorgt voor verwerking van de gegevens. Mijn kennis of php (en html) is zeer beperkt maar ik vond het zelf al heel wat dat ik onderstaand scriptje aan de praat kreeg... over 2 weken is mijn technische collega weer terug maar ik hoop dat jullie mij nog even kunnen helpen dit, in mijn ogen kleine, probleem op te lossen. BVD!

PHP:
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
// only validate form when form is submitted
if(isset($submit_button)){
    $error_msg='';
    if(trim($first_name_input)=='' || strlen(trim($first_name_input)) < 1 || strlen(trim($first_name_input)) > 25) {
        $error_msg.="Please fill in your first name(s)<br>";
    }
    if(trim($surname_input)=='' || strlen(trim($surname_input)) < 1 || strlen(trim($surname_input)) > 25) {
        $error_msg.="Please fill in your surname<br>";
    }
    if(trim($institute_input)=='' || strlen(trim($institute_input)) < 1 || strlen(trim($institute_input)) > 25) {
        $error_msg.="Please fill in your affiliation name of institute<br>";
    }
    if(trim($city_input)=='' || strlen(trim($city_input)) < 1 || strlen(trim($city_input)) > 25) {
        $error_msg.="Please fill in your affiliation city<br>";
    }
    if(trim($phone_input)=='' || strlen(trim($phone_input)) < 7) {
        $error_msg.="Please fill in your phone number<br>";
    }
    if(trim($email_input)=='') {
        $error_msg.="Please enter an email<br>";
    } else {
        // check if email is a valid address in this format username@domain.com
        if(!ereg("[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]", $email_input)) $error_msg.="Please enter a valid email address<br>";
    }
    
    // display error message if any, if not, proceed to other processing
    if($error_msg=='') {
        <form method="POST" action="submit2.php">;
        // 
Hoe geef ik hier aan via een php commando dat hij het form moet "post"-en en dat hij moet doorlinken naar submit.php? als onderstaande code nog bij het bovenstaande hoort?
PHP:
1
2
3
4
5
    } else {
        echo "<font color=white>$error_msg</font>";
    }
}
?>

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Doorlinken naar submit.php via een post doe je zo:
HTML:
1
<form action="submit.php" method="post">

Dit is echter overal wel te vinden. Verder werkt die code van je niet, aangezien die zo te zien afhankelijk zijn van register_globals op de waarde "on", terwijl die al een hele tijd standaard op "off" staat. Je script is dus achterhaald, zie ook P&W FAQ - PHP:Mijn POST en GET forms werken niet (meer).

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
ja het probleem is dus dat ik wil dat die direct van het stukje php doorlinkt. Of kan ik de php functie wel onderbreken met een stuk html?

[ Voor 28% gewijzigd door Verwijderd op 11-08-2005 00:04 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Waarom niet?

PHP:
1
2
3
if ($blaat == 'iets') {
  echo '<p>blablabla</p>';
}

doet hetzelfde als
PHP:
1
2
3
4
5
6
7
<?
if ($blaat == 'iets') {
?>
<p>blablabla</p>
<?
}
?>

[ Voor 3% gewijzigd door NMe op 11-08-2005 00:07 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Ciqniz
  • Registratie: Oktober 2002
  • Laatst online: 07-09-2023

Ciqniz

On the move...

Heet je Submit-knop uberhaupt wel "submit_button"??
Want dan heeft het zoiezo al geen zin om te controleren of je form gesubmit is of niet.

Acties:
  • 0 Henk 'm!

  • Startups
  • Registratie: December 2004
  • Laatst online: 12-09-2022
KreaToh schreef op donderdag 11 augustus 2005 @ 08:43:
Heet je Submit-knop uberhaupt wel "submit_button"??
Want dan heeft het zoiezosowieso al geen zin om te controleren of je form gesubmit is of niet.
Ja, die heet zo. (http://www.ludesign.nl/cancergenomics/nieuw/submit2.php)

Verder adviseer ik gertf $_POST[] te gebruiken.

En waarom werk je niet met 1 submit.php bestand?
Pagina: 1