A submit, a $_POST és egyebek
Sziasztok!
Az alábbi kódot farigcsáltam össze. Sajnos a $_POST végigjárásánál a submit gomb értékét is az adatbázisba szeretné szúrni. Hogyan tudom ezt a problémát megszüntetni?
Ha más probléma is van a kódomba, kérlek magyarázzátok el nekem.
Köszönöm:
Peter71
■ Az alábbi kódot farigcsáltam össze. Sajnos a $_POST végigjárásánál a submit gomb értékét is az adatbázisba szeretné szúrni. Hogyan tudom ezt a problémát megszüntetni?
Ha más probléma is van a kódomba, kérlek magyarázzátok el nekem.
Köszönöm:
Peter71
- <?php
- include('post_vars.inc');
- include('includes/db_conn.php');
- ?>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2">
- <link rel="stylesheet" type="text/css" href="includes/my.css">
- <title>Felvitel</title>
- </head>
- <body>
- <div class="content">
- <form action="" method="post">
- <label> Név:</label>
- <input type="text" name="wname"> <br><br>
- <label> Telefon:</label>
- <input type="text" name="wphone"> <br><br>
- <label> E-mail:</label>
- <input type="text" name="wmail"> <br><br>
- <input type="submit" name="kuld" value="Küld">
- </form>
- </div>
- </body>
- </html>
- <?php
- if ( isset ( $_POST['kuld'] ) && $_POST['wname'] !='' ){
- $sql='SELECT * FROM Workers WHERE worker_name="'.$_POST['wname'].'"';
- $result=mysql_query($sql);
- $workername= mysql_fetch_row($result);
- if ($workername[1]!='')
- echo "Ilyen névvel: $workername[1] már van dolgozó felvéve";
- else {
- muvelet(workers,insert);
- }
- }
- else if (isset ($_POST['kuld']) && $_POST['wname'] =='')
- echo '<script> alert("Név megadása kötelező") </script>';
- function muvelet($tabla, $muvelet) {
- $sql='SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS
- WHERE table_name = "'.$tabla.'"
- AND table_schema = "*****"';
- $res=mysql_query($sql);
- while($wtomb= mysql_fetch_assoc($res)){
- $colname.=$wtomb[column_name]. ', ';
- }
- $fieldnames = '('.substr($colname, 0, -2).')';
- foreach ($_POST as $val) {
- $str .= '"'.$val.'", ';
- }
- $values = '('.substr($str, 0,-2).')';
- switch ($muvelet) {
- case insert:
- $sql2='ISERT INTO '.$tabla. '('.$fieldnames.') VALUES '.$values;
- mysql_query($sql2) or die(mysql_error());
- break;
- case update:
- ;
- break;
- case delete;
- ;
- break;
- default:
- break;
- }
- }
- ?>
Gagyibb megoldás: foreach
Köszönöm, a dolog jól
Kicsit olvasgattam a neten, a következő lépés, ha jól látom akkor az, hogy ellenőrzöm a $_POST értéket.
Köszönöm:
Peter71
while($wtomb=
Köszönöm, ez biztosan
reguláris kifejezések
Nem adsz name paramétert
Az űrlapot így is el lehet küldeni, és még a validátor sem aggódik. Szvsz. ennél nem lehet egyszerűbben.