Webprogramozás arr PHP info Nem lehet meghívóval regelni.
(#2) Gabor válasza erre: (#1) Geeb 2013.12.07. 23:43

Gabor
Gabor
Szerkesztő

Szia
Vannak böngészők amik a disabled mezőket nem küldik el.

1
2
3
4
5
6
 
// 187. sorban
<td class="cell"><p class="dlg_c"><input type="text"<?php if($mode=='invitation') print ' disabled value="'.$invitation_data['email'].'"'; ?> size="50" tabindex="2" name="nu_email"/></p></td>
// helyett
<td class="cell"><p class="dlg_c"><input type="text"<?php if($mode=='invitation') print ' readonly="readonly" value="'.$invitation_data['email'].'"'; ?> size="50" tabindex="2" name="nu_email"/></p></td>
 

Így már működni fog, de még jobb lenne, ha beküldéskor meghívásos mód esetén az emailként mindenképp az adatbázisban tárolt email lenne használva (hogy ne tudja átírni, mert hiába readonly vagy disabled 2 kattintás megkerülni, szóval alapszabály, a felhasználó bármit bármikor beküldhet erre gondolni kell)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 <?php
// ...
if($_POST['submitted'] == 1) {
    if(!empty($_POST['e_mail'])){
        echo "bot vagy";
     } else {
        // ez új --
        if($mode == 'invitation') {
          $_POST['nu_email'] = $invitation_data['email'];
        }
        // -- eddig
// ...
?>
 


Viszont van még egy probléma, amikor az elején az ellenőrzést végzi a script akkor vannak ilyen részek mint:
1
2
3
<?php
header('Location: cart3.php');
?>

ezek nyilván valami hibalapokra irányítanak, hogy a jogosulatlan használatot elkerüljük, de sajna ettől még ami utána van lefut, vagyis egy hibalapot fogunk látni, de attól még lehet regisztrálni ha csalok... (kikapcsolom az átirányítást valahogy akkor megnézhetem a formot is és simán regisztrálhatnék még a meghívásos módban is meghívó nélkül).
Megoldás:
1
2
3
<?php
header('Location: cart3.php'); die(); // innen nem fut tovább a script
?>

ezt mind a három helyen meg kéne csinálni (én hármat láttam)

Üdv kep


Utoljára szerkesztette: Gabor 2013.12.07. 23:44