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.

[PHP] Entwerd $_POST oder Daten aus DB

Empfohlene Antworten

Hi,

ich han n Problem bei dem ich nich durchblick wo der Fehler is, vllt. is einfach nur zu spät und Freitag und so...

auf jedenfall hier ma code der wohl den Fehler erzeugt:


$img_id = isset($_POST['image']) ? $_POST['image'] : isset($config['npc_img']) ? $config['npc_img'] : "1";
$np_on = isset($_POST['np_on']) ? $_POST['np_on'] : isset($config['npc_active']) ? $config['npc_active'] : "";
$np_in_post = isset($_POST['in_post']) ? $_POST['in_post'] : isset($config['npc_inpost']) ? $config['npc_inpost'] : "";
$np_pw = isset($_POST['pw']) ? $_POST['pw'] : isset($config['npc_pw']) ? $config['npc_pw'] : "";
[/php]

Die Daten aus $_POST muss ich ja nich groß erklären, die Namen in den [''] sind auch forhandene Checkboxen und input-type"text" teile.

$config is ne Datenbankabfrage mit fetch_array.

Ansich sollte ja eignetlich nichts wieter passieren als:

Seite wird geöffnet, keine $_POST Daten da, also hinter den ersten : somit werden vorhandene $config Daten geladen oder Leerstrings gemacht.

Sobald ich nun auf "Daten speichern" klicke sind $_POST Daten da und diese werden den Variablen zugewiesen.

Aber scheinbar geht genau das nicht.

var_damp($_POST); liefert mir die richtigen werte, mein Template-Parser meckert auch nicht, das ihm Variablen fehlen würden.

Aber alle felder sind leer bzw. kein haken gesetzt wo einer sein sollte.

Des weitern mach ich folgende Abfrage, doit sagt aus, das ich speichern geklickt hab

[php]if(isset($_GET['doit'])) {
if(isset($_POST['np_on'])){
if($_POST['np_on'] == "1"){
if($np_pw == ""){
$ERROR = 1;
}
if($img_id == ""){
$ERROR = 2;
}
if($ERROR == 0 && $np_on != 0){
$DB->query("UPDATE np_config SET npc_active = 1, npc_img = $img_id, npc_inpost = $np_in_post, npc_pw = '$np_pw' WHERE npc_id = $USER_ID LIMIT 1");
$SUCCESS = 1;
}elseif($ERROR == 0 && $np_on == 0){
$DB->query("INSERT INTO np_config (npc_id, npc_active, npc_img, npc_inpost, npc_pw) VALUES ($USER_ID, 1, $img_id, $np_in_post, '$np_pw')");
$SUCCESS = 1;
}
}
}else{
$DB->query("DELETE FROM np_config WHERE npc_id = $USER_ID LIMIT 1");
}
}

$ERROR = 1; ist bereits der Punkt wo er rausfliegt. Dieser Fehler wird mir makiert

interessanterweiße ist es noch so, das np_img einen startwert von 1 bekommt, nach dem Post aber 0 ist (obwohl $_POST den richtigen wert enthält)

var_damp($_POST); liefert mir die richtigen werte, mein Template-Parser meckert auch nicht, das ihm Variablen fehlen würden.

Aber alle felder sind leer bzw. kein haken gesetzt wo einer sein sollte.

Wenn $_POST gefüllt ist, du aber keine Werte erhälst, stimmt dein Konstrukt zur Wertermittlung wohl nicht ;)

Vereinfache es doch mal. Vielleicht reicht es ja auch, die zweite Bedingung ($config) extra zu machen... $val_config = isset($config) ? ... und dann mit dem Wert zu arbeiten.

hmm... ja, das wird wohl besser sein, das ganze zu trennen.

das ganze is n Hack fürs Tritanium Board (tbb) falls es wer kennt, da wird ständig so gearbeitet, als mit $var = isset(x) ?a : isset() ?b :c

naja, ich werds mal anders probieren :)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

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.