Daten in DB eintragen per Formular

Lenox
Hallo hab mal wieder ein Problem!

Hab eine DB angelegt mit den Inhalt:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
CREATE TABLE `bb1_passwdlist` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `pass` text NOT NULL,
  `username` varchar(255) NOT NULL default '',
  `userid` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


Mission.php

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:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:

<?php
$filename 'mission.php';
require('./acp/lib/class_parse.php');
require('./acp/lib/class_parsecode.php');
require('./global.php');
$lang->load('START, GAME');

eval("\$game_header = \"".$tpl->get("game_header")."\";");            // Navigation und Logo fürs Game

if (!$wbbuserdata['userid']) access_error();
if ($allowgame != 0error($lang->get("LANG_GAME_ERROR_DISABLED"));

if (isset($_REQUEST['action'])) $action $_REQUEST['action'];
else $action '';
if (isset($_REQUEST['pass'])) $pass $_REQUEST['pass'];
else $pass '';

if ($action == 'mission') {

    eval("\$tpl->output(\"".$tpl->get("mission")."\");");
}

if ($pass == 'index') {

    $pass $db->query ("SELECT * FROM bb".$n."_passwdlist WHERE userid=".$wbbuserdata['userid']." ORDER by id");
         while($row=$db->fetch_array ($pass)){
        
            $id $row['id'];
            $passwort $row['pass'];
            $username $row['username'];
            $user_id $row['userid'];
            
            eval("\$passwdlist_bit .= \"".$tpl->get("passwdlist_bit")."\";");
        
        }
        
if (isset($_POST['passwd_add'])) $passwd_add $_POST['passwd_add'];
if (isset($_POST['user_add'])) $wbbuserdata['username'] = $_POST['user_add'];
        
            // ADD PW //
            $db->query("INSERT INTO bb".$n."_passwdlist (pass,username,userid) ""VALUES ('".$_POST['passwd_add']."','".$wbbuserdata['username']."','".$wbbuserdata['userid']."')");

    eval("\$tpl->output(\"".$tpl->get("passwdlist")."\");");
    
}
?>


Aber immer wenn ich die mission.php?pass=index aufrufe fügt er schon automatisch daten ein

wie kann ich das machen das die daten erst eingetragen werden wenn der user auf Speichern bzw. Abschicken klickt?

TPL:

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:
47:
48:
49:
50:
51:
52:
53:
54:
<table cellpadding="{$style['tableincellpadding']}" cellspacing="{$style['tableincellspacing']}" border="{$style['tableinborder']}" style="width:99%" class="tableinborder">
<tr>
<td align="left" class="tabletitle"><span class="smallfont"><b>Hier ist deine Passwort-Liste</b></span></td>
</tr>
</table><br />
<table cellpadding="{$style['tableincellpadding']}" cellspacing="{$style['tableincellspacing']}" border="{$style['tableinborder']}" style="width:99%" class="tableinborder">
<tr>
<td align="left" colspan="2" class="tabletitle"><span class="smallfont"><b>Hier k&ouml;nnen sie Ihre Passw&ouml;rter speichern!</b></span></td>
</tr>
<tr>
<td class="tablecat"> <table cellpadding="{$style['tableincellpadding']}" cellspacing="{$style['tableincellspacing']}" border="{$style['tableinborder']}" style="width:100%" class="tableinborder">
<form action="mission.php?pass=index" method="post" name="passwd">
<input name="passwd" type="hidden" value="" />
<tr>
<td width="14%" align="left" class="tablea"><span class="smallfont"><b>Passwort ID: </b></span></td>
<td width="86%" align="left" class="tablea"><span class="smallfont"><b><input class="input" name="id" type="text" maxlength="4" disabled="disabled" value="$id" /></b></span></td>
</tr>
<tr>
<td width="14%" align="left" class="tableb"><span class="smallfont"><b>Passwort eingeben: </b></span></td>
<td width="86%" align="left" class="tableb"><span class="smallfont"><b><input class="input" name="passwd_add" value="$passwd_add" type="text" maxlength="8" /></b></span></td>
</tr>
<tr>
<td width="14%" align="left" class="tablea"><span class="smallfont"><b>Ihr Username: </b></span></td>
<td width="86%" align="left" class="tablea"><span class="smallfont"><b><input class="input" name="user_add" type="text" maxlength="255" disabled="disabled" value="$wbbuserdata[username]" /></b></span></td>
</tr>
<tr>
<td align="center" class="tableb" colspan="2"><span class="smallfont"><input class="input" value="Speichern" name="speichern" type="submit" /> <input class="input" value="L&ouml;schen" name="reset" type="reset" /></span></td>
</tr>
</form>
</table>
</td>
</tr>
</table>
<br />

<table cellpadding="{$style['tableincellpadding']}" cellspacing="{$style['tableincellspacing']}" border="{$style['tableinborder']}" style="width:99%" class="tableinborder">
<tr>
<td align="left" colspan="3" class="tabletitle"><span class="smallfont"><b>Ihre Passwort-Liste</b></span></td>
</tr>
<tr>
<td class="tablecat"><table cellpadding="{$style['tableincellpadding']}" cellspacing="{$style['tableincellspacing']}" border="{$style['tableinborder']}" style="width:100%" class="tableinborder">
<tr>
<td width="1%" align="left" class="tablea"><span class="smallfont"><b>#</b></span></td>
<td width="80%" align="left" class="tablea"><span class="smallfont"><b>Passwort</b></span></td>
<td width="19%" align="left" class="tablea"><span class="smallfont"><b>Username</b></span></td>
</tr>
$passwdlist_bit
</table>
</td>
</tr>
</table>
<br />


Und wie bekomme ich es noch hin das nach dem abschicken des formulars noch eine Meldung kommt:

Dein Passwort wurde erfolgreich gespeichert!

Und nach 5 - 10sek sollt er dann zur index zurückkehren und seine daten stehen wieder da

Und wenn ich schon hier einmal frage *heul* wie bekomme ich es dann noch hin das wenn ich auf löschen des gespeicherten Passwortes klicke das es dann aus der DB gelöscht wird?

Ich hoffe es kann geholfen werden DANKE
lycoos
Ey du fragst so viel nach. Mach doch einfach mal ein Tutorial durch. tut.q-net.de das is super! Da wird dir alles erklärt.....



PS: Und wenn du schon ein Spiel nachmachen wills dann lass dir wenigstens was neues einfallen! Augenzwinkern
[kamui]
Zitat:
wie kann ich das machen das die daten erst eingetragen werden wenn der user auf Speichern bzw. Abschicken klickt?


Mach es doch mit einem Formular, wo es nur den Submit-Button gibt. Und dann überprüfst du mit if (isSet($_POST['name_des_submit_buttons'])), ob das Formular abgeschickt wurde.

Zitat:
Und wie bekomme ich es noch hin das nach dem abschicken des formulars noch eine Meldung kommt:

Dein Passwort wurde erfolgreich gespeichert!

Und nach 5 - 10sek sollt er dann zur index zurückkehren und seine daten stehen wieder da


Mach einfach unter den Befehl zum Eintragen noch eine echo- oder print-Ausgabe. In der ersten gibst du deinen Text ein und in der zweiten machst du mit HTML eine Weiterleitung.

Zitat:
wie bekomme ich es dann noch hin das wenn ich auf löschen des gespeicherten Passwortes klicke das es dann aus der DB gelöscht wird?


Hierzu kann ich dir folgenden Codeschnippsel von www.phpbox.de geben:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
<!-delete.php->
<html>
<body>
<?php
include ("db.php");
mysql_query("DELETE FROM cds WHERE id='$id'");
mysql_close();
?>
Die Daten wurden gelöscht<br>
<a href="fetcharr.php">zur Übersicht</a>
<body>
<html>
Lenox
Wer lesen kann ist aber auch klar vom vorteil oder großes Grinsen

nee spass bei seite

Es steht drin das ich es komplett neu progge als ist es zwar vom Game her das selbe aber um einiges besser Augenzwinkern

@[kamui]

öhm... will aber zum beispiel nur die bestimmte ID löschen

Wie müsste ich es dann machen wenn ich ID 1, 2, 3, 4, 5 hab und ich aber nur die 3 und 5 löschen möchte?

Also er sollte nur 3,5 löschen wenn ich jeweils auf den lösch button geklickt habe aber nicht alles sondern wie geschreieben die bestimmt id

habe das so:

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:
30:
31:
32:
33:
if ($pass == 'index') {

    $pass $db->query ("SELECT * FROM bb".$n."_passwdlist WHERE userid=".$wbbuserdata['userid']." ORDER by id");
         while($row=$db->fetch_array ($pass)){
        
            $id $row['id'];
            $passwort $row['pass'];
            $username $row['username'];
            $user_id $row['userid'];
            
            eval("\$passwdlist_bit .= \"".$tpl->get("passwdlist_bit")."\";");
        
        }
        
if(isset($_POST['speichern'])) {
        
if (isset($_POST['passwd_add'])) $passwd_add $_POST['passwd_add'];
if (isset($_POST['user_add'])) $wbbuserdata['username'] = $_POST['user_add'];
        
            // ADD PW //
            $db->query("INSERT INTO bb".$n."_passwdlist (pass,username,userid) ""VALUES ('".$_POST['passwd_add']."','".$wbbuserdata['username']."','".$wbbuserdata['userid']."')");
            
}

if(isset($_POST['delete'])) {
        
            // DELETE PW //
            $db->query("DELETE id FROM bb".$n."_passwdlist");            
}

    eval("\$tpl->output(\"".$tpl->get("passwdlist")."\");");
    
}


Hier löscht er aber dann alle einträge der bb1_passwdlist

Er sol aber nur ID 3 und 5 löschen

Also wenn ich auf ID 3 Löschen klicke dann soll er diese löschen das selbe bei 5 ohne das ich WHERE id=5 oder WHERE id=3 schreiben muss

Da es auch einträge gibt die man behalten möchte