Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

ID einer PHP-Site zuweisen

Hallo,
es geht in meiner PHP-Datei um folgendes:
Ich möchte etwas in Eingabefelder schreiben. Die PHP-Site soll dazu noch eine bestimmte id bekommen , welche ich im Quelltext festlege. (Z.b. $id="32")
Doch ich würde gerne wissen ,wie es geht , dass:
Ich die Namen in den Eingabefeldern in einer Datenbank speicher UND sie danach immer angezeigt werden wenn ich die Seite nochmal aufrufe. D.h.: Ich gebe was ein&speichere, es steht immer in dem Feld auch wenn ich die Seite schließe und dann wieder neu aufrufe , ausser ich ändere es und speichere neu.

Code:                   In Zwischenablage kopieren (nur IE)
1">

Ich habe bisher leider nur wenig erfahrung mit PHP/Mysql, also bitte net meckern ;)
1. In der Suchfunktion ist "id" ungültig :P
2. Hab manuell gesucht, nur nach 30 von 1210 Seiten keine Lust mehr :(

mfg Flo
Hier gehts zum Orginal Eintrag "ID einer PHP-Site zuweisen" im Forum

Antworten

sollen die einstellungen global für alle user gespeichert werden, oder irgendwie userbezogen?


2.

Die Seite soll für alle User gleich sein, dh global speichern.
Also wenn einer die Seite aufruft, holt die PHP-Datei sich alles ausser DB mit der ID die im Quelltext steht... :(


3.

Zitat:
INSERT INTO 2 (id, beispiel) VALUES ('"$id"', '"$_POST["beispiel"]"')"
Ist das ein Dreckfuhler oder hast Du wirklich eine Tabelle "2" benannt?
Zitat:
1. In der Suchfunktion ist "id" ungültig :P
Welche Suchfunktion?


4.

1. Ja ist es :P
2. Die vom Forum ?!


5.

In der Suchfunkion des Forums (dieses Forum??) ist "id" ungültig???? Was ist das denn für eine kaputte Aussage??


6.

ID besteht nur aus 2buchstaben ... und ein Suchwort muss mind. 3 haben.
Könntet ihr auch mal ändern :P


7.

Tzz, drängeln per PN..
vorgehensweise:
du machst ein array, wo du speicherst welche input-elemente es auf der seite gibt (sicherheitshalber, damit dir nicht jemand die datenbank zumüllt)
dann prüfst du ob du daten per post übertragen hast (isset($_POST)) wenn das der fall ist löschst du erst alle datensätze mit der seiten-id und erstellst dann pro input-feld einen neuen datensatz, wo du dessen namen und den wert speicherst..
zum auslesen machst du einfach ein select auf die tabelle füllst in einer while-schleife ein temporäres array mit key=input-name und value=inhalt des input-felds..
um das ganze dann im formular wieder darzustellen schreibst du einfach
<input type="text" name="inputname" value="<?php echo $tempArray['inputname']?>">

dabei beachten:
[doc]mysql_real_escape_string,htmlentities[/doc]

folgende tabelle könntest du benutzen:
Code:                   In Zwischenablage kopieren (nur IE)
2">

id ist die page-id, input name ist der name des input-feldes und value ist der inhalt des input-felds..
einfach pro input-feld einen datensatz anlegen..


8.

Danke,
für 1 oder mehrere Felder garkein Problem... doch ich habe >60felder und da immer ein datensatz anlegen wäre viel zu aufwendig :(


9.

Wieso?
wenn du die sache mit dem array nicht willst machst ein foreach auf $_POST und speicherst jeden post-wert in die datenbank, musst halt dann im form fleißarbeit leisten und überall den value-ausdruck einfügen, da seh ich aber keine andere chance..


10.

So...
hier nochmal eine kleine Testdatei. Die richtige is genauso aufgebaut nur halt viel zu viel ums hier zu posten.
Es gibt noch 2 Probleme:
1. wenn ich in MYSQL das auto_increment bei ID wegnehme schreibt er nichts mehr in die DB
2. Er überschreibt die Zeile net, dh wenn ich in ID8 - Spieler1: Harald reingeschrieben hab und beim nächsten mal Senf reinschreiben will bleibt Harald drin.

Code:                   In Zwischenablage kopieren (nur IE)
3">

mfg Flo


11.

Code:                   In Zwischenablage kopieren (nur IE)
4">

So geht das schon, wenn du wirklich auto_increment zugewiesen hast !


12.

Das ist klar , nur ich möchte keine neue ID zuweisen !
Es soll ja immer wenn ich dieses Formular öffne und etwas in das Textfeld schreibe ... in "spieler1" mit der ID=8 geschrieben werden ! Und das soll halt auch überschreiben bei jeder neuen übergabe.

mfg Flo


13.

Hmm, meine Tabellendefinition war nicht vollständig:
Code:                   In Zwischenablage kopieren (nur IE)
5">

um id brauchst dich nicht zu kümmern, pageid ist die page-id, input name ist der name des input-feldes und value ist der inhalt des input-felds.. einfach pro input-feld einen datensatz anlegen..
Code:                   In Zwischenablage kopieren (nur IE)
6">




14.

Der fixe Bennig war schneller :D
Der PHP-Code ist recht einfach. Gibts kein $_POST musst du die Daten holen ansonsten speichern.
So ungefaehr:
Code:                   In Zwischenablage kopieren (nur IE)
7">




15.

Zitat:
Fuer noch mehr Einfachheit nimm eine neue Tabelle die einen Index ueber ID und NAME macht dann funktioniert REPLACE fuer mehr Einfachheit. Damit entfaellt dann ein pruefen obs das eigentlich schon gibt um dann entweder ein INSERT oder UPDATE zu machen.
Replace ist im Prinzip nicht schlecht, allerdings könnts vorkommen, dass er ein Feld aus dem Formular löscht, bzw bei checkboxen eine deaktiviert und dann hat er schrott in der Tabelle.. Deshalb ist der erst alles löschen dann neu reinschreiben -Weg vielleicht das einfachste..
also
delete from Einstellungen where pageid=0815;
und dann wieder inserten..


16.

Da hast du natuerlich recht. Mit diesem DELETE entfaellt dann trotzdem das SELECT fuer jeden Wert und man muss nur INSERT nehmen. So einfach geht das manchmal. Und ich muss nun mit der Pein leben einen nutzlosen Tip abgegeben zu haben. Du Blossteller ;)


Hier gehts zum Orginal Eintrag "ID einer PHP-Site zuweisen" im Forum
 
phpforum.de | Impressum | Handy Bundles