WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » DB Problem --> Daten aus Adresszeile in Datenbank speichern » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

DB Problem --> Daten aus Adresszeile in Datenbank speichern
von k-man
Danke Leute.

Es klappt endlich!!!

@eyeytsch: Es lag tatsächlich auch daran das ich keine Apostrophs gesetzt hatte
von k-man
So nun habe ich die Ausgabe auch in Hochkomma:

INSERT INTO pers (Name,...) VALUES ('Klein', '41534','x', '', '', '', '', '', 'x', '', '', '', '', '', '', 'x', '', '', '', '')

Er schreibt sie mir nur leider immer noch nicht in meine DB.

von eyeytsch
sieht doch nicht schlecht aus. Es fehlen meiner Meinung nach nur noch die Hochkommata bei allen Daten, die entweder ein String oder ein Character sind.
Es könnte aber auch daran liegen, dass der Tabellenname und die Spaltennamen nicht in diesem komischen Zeichen stehen, das neben dem sz oben steht.

Bsp: INSERT INTO `pers` (`Name`, ...)
von k-man
Mit GET funzt es nicht, aber mit POST und REQUEST kriege ich die Eingaben angezeigt.

Allerdings wird das gesamte $sql eingabe angezeigt :
INSERT INTO pers (Name,...) VALUES (Klein, 41535, x, , , , , , x, , , , , , x, , , , , )

x = angewählte Checkbox
, = nichtangewählte Checkbox
von eyeytsch
bau doch einfach mal ein

1:
echo $sql  . "<br>";


ein.
Dann müssest Du sehen, ob die Daten im Insert stehen oder nicht. Falls nicht ersetz einfach mal das REQUEST durch GET. Vielleicht funzts dann.
von k-man
Besten Dank,

Die Fehlermeldung ist weg (bei beiden Vorschlägen)

Mein Problem besteht nur leider immer noch, dass alle Eingaben in der Adresszeile stehen und nicht in der DB.
von eyeytsch
Bei den Hochkommas bin ich mir eigentlich ziemlich sicher...

Probier doch mal folgendes
1: 
2: 
3:
... VALUES ('" . $_REQUEST['']  . "', ...


Was ich hier meine ist, dass man die Variablen über den Verkettungsoperator "." einbindet.
Die Reihenfolge hier ist: Hochkomma, Anführungszeichen, Verkettungsoperator, Variable, Verkettungsoperator, Anführungszeichen, Hochkomma

So mach ich das eigentlich immer. Ich finde dadurch wird es viel übersichtlicher, da die Variablen dann in meinem Editor nicht mehr in der Farbe des Strings angezeigt werden, sondern in der "normalen" php-Farbe.
Zu deinem vorigen Post:
Ich denke das Problem liegt daran, dass durch die neu eingebauten Hochkommas der ganze String nicht mehr zusammen passt. d.h. es müssten dann evtl die Hochkommas in der "MItte" über eine Escape Sequenz gerettet werden. Aber dann wird das ganze meiner Meinung nach recht unübersichtlich mit den vielen Backslashes. Drum probier einfach mal das mit dem Verketttungsoperator, dann kannst Du dir die Backslashes sparen.

Good luck... ;)
von languitar
pack mal $_REQUEST['bla'] jeweils in geschwungene Klammern {}
von k-man
Daran liegt es nicht, denn wenn ich die Variablen in Hochkommas setze kommt folgende Fehlermeldung:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in Name_der_Datei.php on line 126

Habe sie in " " gesetzt, dann kam nur noch die vorher gepostete Fehlermeldung.


von eyeytsch
Es könnte sein, dass Du die Variablen in Hochkommas setzten musst, denn bei Strings funzt das ohne Hochkommas nicht.
von k-man
Ja, danke.
Es hilft mir , aber irgendwas stimmt da immer noch was nicht. Bekomme jetzt eine Fehlermeldung:

Parse error: syntax error, unexpected T_VARIABLE in Name_der_Datei.php on line 126

Habe so das dumme Gefühl, das es mit dem Tabellennamen zusammenhängt. (habe natürlich nicht Tabellenname eingegeben, sondern den Namene der Tabelle bei mir "p_dat").

Kann es sein das das an dem '_' liegt?
von eyeytsch
Nach dem Abschicken des Formulars sind die Daten im "Array"

$_REQUEST['']

zu finden.

Bei Dir z.B. $_REQUEST['name'].

Das vorangegangene Beispiel würde das halt so aussehen (je nach dem wie deine Formularfelder benannt sind):
1:
$sql="INSERT INTO tabellenname (angabe1,angabe2) VALUES ($_REQUEST['feld1'],$_REQUEST['feld2'])";


Ich hoffe das hilft dir weiter...
von k-man
Danke, aber es funktioniert nicht.
Kann man auf diese Weise auch Werte als arrays in eine Datenbank einfügen?

Oder habe ich einen Denkfehler?

Ich denke mir das ganze so:
Ich habe eine Eingabemaske. Oben werden die schon vorhandenen Datensätze angezeigt.
(das funktioniert) Darunter sollen einige Eingabefelder und Checkboxen zum Eingeben eines neuen Datensatzes oder zum Bearbeiten eines schon vorhandenen angezeigt werden. (funktioniert auch) Nun sollen die neuen bzw. bearbeiteten Daten zur Datenbank geschickt und dort eingetragen bzw. geändert werden.

Wie mache ich das? Ich dachte mir, das dies per Array möglich sein sollte. Oder nicht?
von Maxx
auf die gesendete seite machst du eine Sql abfrage zb. so

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15:
<?
$db_host = "localhost";
$db_user = "root";
$db_password = "";
$db_name = "test";

mysql_connect($db_host,$db_user,$db_password) or die (mysql_error());
mysql_select_db($db_name) or die (mysql_error());


$sql="INSERT INTO tabellenname (angabe1,angabe2) VALUES ('test1','test2')";
$res_id=mysql_query($sql);
?>


dieses fügt in angabe1 test1 , in angabe2 test2 ein

musst nu natürlich in deine angaben änden
von k-man
Moin,
ich muss Euch schon wieder mal um Rat fragen, da ich trotz intensiver Suche nicht weiterkomme.

Habe ein Abfragescript geschrieben. Die Maske enthält Texfelder z.B.: Name in die der Name eingegeben wird und mehrere Checkboxen.

Funktioniert auch in sofern, dass die Eingaben in der Adresszeile angezeigt werden.

Mein Problem ist folgendes:

Wie erreiche ich, dass die eingegebenen Daten an eine Datenbank gesendet und dort gespeichert werden?
Ich hoffe jemand, der ein wenig mehr von der Materie versteht als ich kann mir da helfen.


Ich Danke Euch schon mal im vorraus

MfG k-man.


---
Wissen ist Macht; nichts wissen macht auch nix!

Nach oben