[PHP] enter na invoerveld invullen werkt niet

Pagina: 1
Acties:
  • 254 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Ik ben (noodgedwongen) bezig aan een PHP-applicatie. Tot nu toe wil het allemaal aardig lukken, wat me wel opvalt is dat de enter-toets niet werkt na het invullen van een veld. Het klikken op de submit-knop werkt echter wel perfect. Moet de functie van enter ergens gedeclareerd worden? Gaat om de volgende code:

code:
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
<table width='100%' border='0' cellspacing='0' cellpadding='2'>
                <form name='add_artikelen' method='post' action='?action=add'>
                    <tr>
                        <td>Artikelnaam:</td>
                    </tr>
                    <tr>
                        <td><input type='text' name='name' size='30'></td>
                    </tr>
                    <tr>
                        <td><input type='submit' name='submit' value=' Artikel toevoegen'>&nbsp;<input type='reset' name='reset' value='Reset invoer'></td>
                    </tr>
                </form>
                </table>
<?php
include("includes/dbconnector.php");
// ========================================== Artikel toevoegen =====================================
// Artikel aanmaken
{
    // Controleren of formulier gepost is
    if (isset($_POST['submit']))
        {
            // Post variabelen opslaans
            $pusername = ($_POST['name']);

            // Controleren of naam al bestaat
            $query = "SELECT name FROM test
            WHERE name = '$pusername'";
            $result = mysql_query($query);
            $paantalres = mysql_num_rows($result);

        if (mysql_num_rows($result) == 0)
            {
                // Query INSERT maken en uitvoeren
                $query = "INSERT INTO test (name)
                VALUES ('".$pusername."')";
                $result = mysql_query($query);
                // Info message weergeven
                echo "Gelukt.</font>";
            }
        else
            {
                echo "Deze naam bestaat al!";
            }
        }
}
?>


Ik heb dit script ook online staan: www.gl-power.nl/unet/addartikelen.php

Acties:
  • 0 Henk 'm!

  • Spockz
  • Registratie: Augustus 2003
  • Laatst online: 21-09 10:08

Spockz

Live and Let Live

Bij mij werkt het gewoon als ik in het invoerveld sta en op enter druk.

FF 2.0.0.3

C'est le ton qui fait la musique. | Blog | @linkedin
R8 | 18-55 IS | 50mm 1.8 2 | 70-200 2.8 APO EX HSM | 85 1.8


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:44

crisp

Devver

Pixelated

Bij een submit via de <enter>-key (of via javascript) is de submit-knop niet noodzakelijk een 'successful' form-element en dus zullen sommige browsers de name-value pair van de submit-knop niet meenemen in de POST-data.

Dus de manier om af te vragen of je form gepost is is niet correct :)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • YakuzA
  • Registratie: Maart 2001
  • Niet online

YakuzA

Wat denk je nou zelluf hey :X

Uche, Sql injection:

PHP:
1
2
3
4
5
            $pusername = ($_POST['name']);

            // Controleren of naam al bestaat
            $query = "SELECT name FROM test
             WHERE name = '$pusername'";


PHP:
1
$pusername = mysql_real_escape_string($_POST['name']);

Lijkt mij iets veiliger iig :)

[ Voor 19% gewijzigd door YakuzA op 07-04-2007 13:05 ]

Death smiles at us all, all a man can do is smile back.
PSN