Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [php] Problem mit Post (https://www.delphipraxis.net/66040-%5Bphp%5D-problem-mit-post.html)

Grolle 23. Mär 2006 21:34


[php] Problem mit Post
 
Hallo!
Ich möchte mit Post neue Datensätze einfügen:
Delphi-Quellcode:
<font face="Arial" size="2">
<form action = "add2.php" method = "post">
<input name="na"> Name



<input name="vn"> Vorname



<input name="st"> Strasse



<input name="pl"> PLZ



<input name="or"> Wohnort



<input name="la"> Land



<input name="te"> Telefon



<input name="fa"> Fax



<input name="mo"> Mobil



<input name="ko"> Kommentar



<input name="ma"> E-Mail



<input name="ho"> Homepage



<input name="ge"> Geburtsdatum (JJJJ-MM-TT)



<input name="gr"> Gruppe



<input type="submit" name="gesendet" value="Datensatz erstellen">
</font>
</form>
und das Programm:
Delphi-Quellcode:
<?php

if (isset($gesendet))
   {
      include "connect.inc.php";
      $sqlab = "INSERT adressbuch";
      $sqlab .= "(name, vorname, strasse, plz, wohnort, land, telefon, fax, mobil, kommentar, mail, homepage, geburtstag, gruppe) values";
      $sqlab .= "('$na', '$vn', '$st', '$pl', '$or', '$la', '$te', '$fa', '$mo', '$ko', '$ma', '$ho', '$ge', '$gr')";

      mysql_query($sqlab);

      $num = mysql_affected_rows();
      if($num>0)
        echo "Datensatz wurde hinzugefügt! 

";
      else
        echo "Datensatz konnte nicht erstellt werden!

";
   }
?>
Das klappt aber natürlich nicht. Es kommt immer: Datensatz konnte nicht erstellt werden!
Wo ist der Fehler?

Viele Grüße...

rebugger 23. Mär 2006 21:45

Re: [php] Problem mit Post
 
Täusch ich mich, oder muss es nicht "INSERT INTO ..." heißen?

Grolle 23. Mär 2006 21:53

Re: [php] Problem mit Post
 
Hi!
Daran liegt es wohl nicht. Geht immer noch nicht... :(

Matze 23. Mär 2006 22:06

Re: [php] Problem mit Post
 
Hi

Ich wollte das gerade mal durchtesten, ist mir jedoch zu aufwändig. Ersetzte dein mysql_query einmal durch das hier:

Code:
mysql_query($sqlab) or die("Error: " . mysql_error());
Dann siehst du eine vernünftige Fehlermeldung und weißt, woran es liegt.

Btw: Du hast </font> und </form> im HTML-Dokument vertauscht, nur als Hinweis.

Grolle 23. Mär 2006 22:22

Re: [php] Problem mit Post
 
Das hat geholfen! Danke für den Tip :thumb:
Zitat:

Error: Unknown column 'geburtstag' in 'field list'
Viele Grüße...

Flare 24. Mär 2006 05:27

Re: [php] Problem mit Post
 
Also nach meinem Verstädnis dürfte das eigentlich noch nicht funktionieren.
Die über Post geposteten Variablen befinden sich dich in $_POST['variablenname'].
Du greifst aber über $variablenname drauf zu. Hast du das schon vorher so deklariert?


Flare

SirThornberry 24. Mär 2006 06:20

Re: [php] Problem mit Post
 
@Flare: Wenn beim PHP die Option RegisterGlobals aktiviert ist kann man die Variablen direkt nutzen, egal ob diese per Post, Get, Cookie etc. übermittelt wurden.

yankee 24. Mär 2006 06:57

Re: [php] Problem mit Post
 
Zitat:

Zitat von SirThornberry
@Flare: Wenn beim PHP die Option RegisterGlobals aktiviert ist kann man die Variablen direkt nutzen, egal ob diese per Post, Get, Cookie etc. übermittelt wurden.

Jo. Und das ist eine Funktion von PHP, die ich sehr zu schaetzen weiss :-).
Allerdings gibt es ein paar Programmierer die diese Funktion verurteilen, weil sie unsicherer ist (bzw. sich manche quelltexte die ohne Bedacht geschrieben wurden lassen sich damit missbrauchen). Wenn du zum Beispiel
for($i=0;$i<5;$i++) $var .=something($i);
hast, wir an die $variable $i einfach immer etwas angehaengt. Selbst wenn in der Variable unvorhergesehener Weise schon vorher was drin stand.
Sicher ist man so:
$var ='';
for($i=0;$i<5;$i++) $var .=something($i);
Das ist aber dann auch wieder das einzige. Einfach NIE davon ausgehen, dass eine vorher nicht benutze Variable leer ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz