form met submit button (probleempje)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4 volgende »

- Ariën  -
Beheerder

- Ariën -

07/01/2015 21:52:53
Quote Anchor link
Hoe heb je mijn code geïmplementeerd? Ik neem aan alleen de 2e regel, en neit het hele script via copy/paste?

Neemt niet weg dat het best verouderd eruit ziet. Tabellen zijn serieus niet meer van de tijd, en die()-als functie is ook niet echt nodig. Ook wat tabs om de boel netjes uit te lijnen zijn ook niet overbodig.
 
PHP hulp

PHP hulp

28/11/2024 18:14:49
 
Marcel sauer

marcel sauer

12/01/2015 22:57:15
Quote Anchor link
hallo aar,

sorry voor de late reactie.
ik ben er achter dat ik een oude en nieuwe recapcha door elkaar gebruikten.
ik heb nu de oude controle van recapcha verwijderd die verwijst naar een php bestand wat niet meer bestaat.
nu werkt het form wel alleen de recapcha niet meer.

dit heb ik verwijderd.

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

/********************* RECAPTCHA CHECK *******************************
This code checks and validates recaptcha
****************************************************************/

 require_once('recaptchalib.php');
    
      $resp = recaptcha_check_answer ($privatekey,
                                      $_SERVER["REMOTE_ADDR"],
                                      $_POST["recaptcha_challenge_field"],
                                      $_POST["recaptcha_response_field"]);

      if (!$resp->is_valid) {
        die ("<h3>Image Verification failed!. Go back and try again.</h3>" .
             "(reCAPTCHA said: " . $resp->error . ")");            
      }

?>


ik heb trouwens nu via de recapcha site nu een text vlak voor de /head geplaatst en de code met key voor het afbeelden van het plaatje aan het einde van het form.
en natuurlijk de key codes toegevoegd om te verbinden in de php file waarmee je connectie maakt met de database.
Gewijzigd op 12/01/2015 23:19:25 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

12/01/2015 23:00:42
Quote Anchor link
Wat gebeurt er dan?
 
Marcel sauer

marcel sauer

12/01/2015 23:02:15
Quote Anchor link
alles werkt nu gewoon zoals het hoort behalve de capcha
je kan zonder aan te geven dat je geen robot bent het formulier versturen.
 
- Ariën  -
Beheerder

- Ariën -

12/01/2015 23:09:46
Quote Anchor link
privatekey heb je wel goed ingesteld? En hoe hoe je deze code geimplementeerd in je formulier?
 
Marcel sauer

marcel sauer

12/01/2015 23:15:36
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
<script src='https://www.google.com/recaptcha/api.js'></script>



</head>
?>

<?php
 <div class="g-recaptcha" data-sitekey="********************************"></div>
?>



en in de database met connectie
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
/*************** reCAPTCHA KEYS****************/
$publickey = "**********************************i";
$privatekey = "*********************************S";
?>


dit is alles wat er ingevoegd is.

maar volgens mij gaat het fout dat het nergens gecontroleerd wordt.
Gewijzigd op 12/01/2015 23:18:21 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

12/01/2015 23:18:56
Quote Anchor link
Waar controleer je of je formulier is verstuurd?
 
Marcel sauer

marcel sauer

12/01/2015 23:27:02
Quote Anchor link
na de
if($_POST['doRegister'] == 'Register')
{


maar het formulier wordt goed verstuurd!
alleen de recapcha controle doet het niet.
Gewijzigd op 12/01/2015 23:29:36 door marcel sauer
 
- Ariën  -
Beheerder

- Ariën -

12/01/2015 23:34:07
Quote Anchor link
Kan je eens alle code laten zien van de hele formulierafhandeling, in plaats van alleen die van de captcha?
En gebruik deze code eens, dit is meer correcter omdat je wilt weten of je formulier verstuurd, is, en niet alleen of er op een knop is gedrukt.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
?>
 
Marcel sauer

marcel sauer

12/01/2015 23:42:19
Quote Anchor link
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<?php
/********** formulier verzonden***************************/

if($_SERVER['REQUEST_METHOD']=="POST") {
    echo "Je formulier is via POST verstuurd";
}
else {
    echo "Je formulier is niet verstuurd. Hier kan je bijvoorbeeld je formulier tonen";
}
    
    
    
                    
if($_SERVER['REQUEST_METHOD']=="POST")
{

/******************* Filtering/Sanitizing Input *****************************
This code filters harmful script code and escapes data of all POST data
from the user submitted form.
*****************************************************************/



foreach($_POST as $key => $value) {
    $data[$key] = filter($value);
}



/************************ SERVER SIDE VALIDATION **************************************/
/********** This validation is useful if javascript is disabled in the browswer ***/


if(empty($data['full_name']) || strlen($data['full_name']) < 4)
{

$err[] = "ERROR - Invalid name. Please enter atleast 3 or more characters for your name";
//header("Location: register.php?msg=$err");
//exit();

}

// Validate User Name
if (!isUserID($data['user_name'])) {
$err[] = "ERROR - Invalid user name. It can contain alphabet, number and underscore.";
//header("Location: register.php?msg=$err");
//exit();

}

// Validate Email
if(!isEmail($data['usr_email'])) {
$err[] = "ERROR - Invalid email address.";
//header("Location: register.php?msg=$err");
//exit();

}
// Check User Passwords
if (!checkPwd($data['pwd'],$data['pwd2'])) {
$err[] = "ERROR - Invalid Password or mismatch. Enter 5 chars or more";
//header("Location: register.php?msg=$err");
//exit();

}
      
$user_ip = $_SERVER['REMOTE_ADDR'];

// stores sha1 of password
$sha1pass = PwdHash($data['pwd']);

// Automatically collects the hostname or domain  like example.com)
$host  = $_SERVER['HTTP_HOST'];
$host_upper = strtoupper($host);
$path   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');

// Generates activation code simple 4 digit number
$activ_code = rand(1000,9999);

$usr_email = $data['usr_email'];
$user_name = $data['user_name'];

/************ USER EMAIL CHECK ************************************
This code does a second check on the server side if the email already exists. It
queries the database and if it has any existing email it throws user email already exists
*******************************************************************/


$rs_duplicate = mysql_query("select count(*) as total from users where user_email='$usr_email' OR user_name='$user_name'") or die(mysql_error());
list($total) = mysql_fetch_row($rs_duplicate);

if ($total > 0)
{

$err[] = "ERROR - The username/email already exists. Please try again with different username and email.";
//header("Location: register.php?msg=$err");
//exit();

}
/***************************************************************************/

if(empty($err)) {

$sql_insert = "INSERT into `users`
              (`full_name`,`user_email`,`pwd`,`address`,`tel`,`fax`,`website`,`date`,`users_ip`,`activation_code`,`country`,`user_name`
            )
            VALUES
            ('$data[full_name]','$usr_email','$sha1pass','$data[address]','$data[tel]','$data[fax]','$data[web]'
            ,now(),'$user_ip','$activ_code','$data[country]','$user_name'
            )
            "
;
            
mysql_query($sql_insert,$link) or die("Insertion Failed:" . mysql_error());
$user_id = mysql_insert_id($link);  
$md5_id = md5($user_id);
mysql_query("update users set md5_id='$md5_id' where id='$user_id'");
//    echo "<h3>Thank You</h3> We received your submission.";

if($user_registration)  {
$a_link = "
*****ACTIVATION LINK*****\n
http://$host$path/activate.php?user=$md5_id&activ_code=$activ_code
"
;
}
else {
$a_link =
"Your account is *PENDING APPROVAL* and will be soon activated the administrator.
"
;
}


$message =
"Hello \n
Thank you for registering with us. Here are your login details...\n

User ID: $user_name
Email: $usr_email \n
Passwd: $data[pwd] \n

$a_link

Thank You

Administrator
$host_upper
______________________________________________________
THIS IS AN AUTOMATED RESPONSE.
***DO NOT RESPOND TO THIS EMAIL****
"
;

    mail($usr_email, "Login Details", $message,
    "From: \"Member Registration\" <mijn email adres>\r\n" .
     "X-Mailer: PHP/" . phpversion());

  header("Location: thankyou.php");  
  exit();
    
     }
 }
                    

?>


[/CODE]
 
- Ariën  -
Beheerder

- Ariën -

12/01/2015 23:49:16
Quote Anchor link
Je checkt hier nergens of de captcha is ingevuld. Je gat in een eerdere post al een code, maar wat heb je er precies mee gedaan? Waar heb je deze geplaatst?

Na lijn 53 zou je die captcha controle wel kunnen inbouwen. gebruik dan geen die(), maar een nette foutmelding uit je $err[] array. Veel netter.
 
Marcel sauer

marcel sauer

12/01/2015 23:55:19
Quote Anchor link
dat zou het probleem zijn ik had in het voorbeeld scriptje een oude code staan.

een code voor een veroudert type recapcha die naar de libary verwijst.

ik gebruik de nieuwe versie dus de controlle bestaat niet meer die zou er opnieuw ingebouwd moeten worden.

ik ga proberen of ik het er in gebouwd krijg.

alvast bedankt.
 
- Ariën  -
Beheerder

- Ariën -

12/01/2015 23:57:48
Quote Anchor link
Prima, als je vragen hebt, dan horen we het wel in dit topic. Succes!
 
Marcel sauer

marcel sauer

13/01/2015 19:52:17
Quote Anchor link
hallo Aar,

ik kom er nog niet helemaal uit.

ik heb dit op "papier" gezet maar dit is het niet..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
// Check GeCapcha
if (!g-recaptcha($data['g-recaptcha'])) {
$err[] = "ERROR - Invalid ReCapcha input.";
}

?>

[/CODE]
 
- SanThe -

- SanThe -

13/01/2015 19:56:08
Quote Anchor link
Regel 3 ziet er uit als een aftreksom.
Is dat de bedoeling?
 
Marcel sauer

marcel sauer

13/01/2015 20:00:46
Quote Anchor link
nee is niet de bedoeling :S
 
- Ariën  -
Beheerder

- Ariën -

13/01/2015 20:06:01
Quote Anchor link
En die code van 12 januari om 22:57, in dit topic?
 
Marcel sauer

marcel sauer

13/01/2015 20:08:33
Quote Anchor link
dat is de code van recapcha versie 1.0

ik heb in mijn site 2.0 zitten.

de php recaptchalib.php bestaat niet in mijn site.
 
- Ariën  -
Beheerder

- Ariën -

13/01/2015 20:11:52
Quote Anchor link
Als ik me niet vergis is dit de class voor de nieuwe re-captcha:
https://github.com/google/ReCAPTCHA/tree/master/php
 
Marcel sauer

marcel sauer

13/01/2015 20:18:23
Quote Anchor link
als ik de code van 12 januari om 22:57 invoeg en dan de php file uit je link er bij zet doet hij weer niks. formulier controle zegt verstuurd maar niks in de database en geen vervolg pagina thankyou.php
 

Pagina: « vorige 1 2 3 4 volgende »



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.