Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Mal wieder ein Problem. PHP und MySQL

Empfohlene Antworten

Veröffentlicht

Hallo, habe leider wieder mal ein Problem.

Ich habe in einem HTML-Formular ein Feld zum Eintragen eines Namens in eine DB (MySQL) Dann gibt es dort ein verstecktes Formularfeld, das auf 1 steht und beim Absenden mitgeschickt wird.

Nun habe ich folgenden Quellcode gemacht:

if ( $HTTP_POST_VARS[ins] == 1 )

{ mysql_query("INSERT INTO `user` ( `id` , `name` , `datum` ) VALUES ( '', '$HTTP_POST_VARS[name]', NOW( );"); }

ID ist ein Autoincrement-Feld und darum leer.

Trotzdem trägt er den Datensatz nicht ein, obwohl er die 1 korrekt mitschleift, also in die Bedingung reingehen müsste.

Kann mir jemand helfen?

if ( $HTTP_POST_VARS[ins] == 1 )

{ mysql_query("INSERT INTO `user` ( `id` , `name` , `datum` ) VALUES ( '', '$HTTP_POST_VARS[name]', NOW( );"); }

muss der sql-query evtl. so lauten

mysql_query("INSERT INTO `user` ( `id` , `name` , `datum` ) VALUES ( '', '$HTTP_POST_VARS[name]', NOW( ));

oder vertuh ich mich da?

Trotzdem trägt er den Datensatz nicht ein, obwohl er die 1 korrekt mitschleift, also in die Bedingung reingehen müsste.
Ist das denn auch der Fall?

Hast du mal ein Debug-Statement eingefügt um zu checken, ob das IF-Statement korrekt durchlaufen wird?

Kann mir jemand helfen?

1. füge ich AutoInc Felder immer als "null" ein (keine Ahnung ob es daran liegt)

2.


if ( $HTTP_POST_VARS[ins] == 1 )
{
$test = "INSERT INTO `user` ( `id` , `name` , `datum` ) VALUES ( '', '$HTTP_POST_VARS[name]', NOW( );";
echo $test;
}
[/php]

Dann siehst du, ob nicht ein Fehler in deinem SQL-Statement ist.

Sollte es nicht so gehen ?


$test = "INSERT INTO `user` ( `id` , `name` , `datum` ) VALUES ( NULL, '".$HTTP_POST_VARS['name']."', NOW( )";
[/php]

Gruessle

bio*

AutoIncrement-felder können mit NULL oder '' (leerstring) eingefügt werden, macht keinen unterschied. und fehlerhaftes sql sollte eigentlich beim aufruf von mysql_query einen fehler werfen, tut es das?

s'Amstel

Hat hier eigentlich schonmal einer was von register_globals gehört? Ich würd als erstes schonmal $HTTP_POST_VARS durch $_POST auswechseln und den Index eines Arrays sollte man in Hochkommata setzen, wenn es nicht grad eine Variable ist.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.