Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

msql Datensatz eintragen per formular

ich-esel / 1 Antworten / Baumansicht Nickles

also wie das geht weis ich. Aber ich habe ein Problem das beim Eintrgen eines neuen Datensatzens ensteht. wenn ich die Daten eingebe per html und einem Formular welches wiederrum eine PHP script aufruft ensteht meine Probelm.
z.B.
wenn Ich (was ich nie täte) auf zurück geht wird mein Forular noch mal aufgerufen und dann auf abschicken gehe wird der Datensatz noch mal eingetragen.  oder
nach dem Eintragen die Daten vom PHP Script eingetragen wurde  kommt bei mir so ne meldung. "Datensatz ist in MSQL Tablelle Schönen Tag noch ". wenn ich dann auf akutaliesiern drücke freut sich meine Tabelle weil sie kann gleich noch mal den selben Datensatze eintragen. hinzu kommt das die Tabelle mit eine "auto_increment" versehen ist was es mir Ernöglicht ganz schön viel gleiche datensätze einzutragen. Und das soll auch weiterhin möglich beiben. Ich schaffe mir damit also eine Richtig große menge Datenmüll.


Ich denke mal ich stehe nicht allein mit dem Probelm hat einer ne Lösung einfach kurz schmerzlos.


Danke


 

bei Antwort benachrichtigen
Marcus Kosek ich-esel „msql Datensatz eintragen per formular“
Optionen

Hallo ich-esel,

nenn Dich doch lieber lateinamerikanisch-fuer-ich-bin-butter = soy-burro.
soy-burro heißt im spanischen ich-bin-ein-esel.

genug der wortspiel, wo setzt du das form ein?

für admin interfaces verwende ich immer folgendes:

1. datensatz | edit | delete
2. datensatz | edit | delete
3. datensatz | edit | delete

knopf mit neuen datensatz anlegen

----------------------------------------

knopf ist mit funktion insert() auf einer seite verlink:

form methode=post action=seite.php3
submit value=insert
input type=hidden value=cmd
!form

oder durch einen link

a href=seite.php3?cmd=insert
neuen Datensatz
!a

---------------------------------------------

auf der seite.php3 kommt das ganze so an
seite.php3?cmd=insert

die seite.php3 ist so aufgebaut:

function ......

prints .......

ganz am ende der seite steht:

switch(cmd)
{
case 'insert': Insert(); break;
case 'edit': Edit(id); break;
save 'save': Save(id, formular werte); break;
}

____________________________

functionen ...:

function Insert()
{
Edit(-1);
}

function Edit( $id)
{
if($id > 0)
hol datensätze aus der mysql datebank
form mit daten aus mysql

else
leeres form

input type=hidden value=$id
speichern knopf cmd=save
}

function save(id, formular werte)
{
if( $id > 0)
update datensatz mit id um formular werte

else if( formular werte alle richtig)
insert neuen datensatz in mysql datebank
mit $id = mysql_insert_id();
kannst du anschließend Edit( $id) aufrufen

else
Edit(-1);
}

hoffe das hilft weiter
bei Antwort benachrichtigen