php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.01.2010, 09:33  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard Formularwerte werden nach Bedingungsprüfung nicht übernommen und in DB eingetragen

Moin Leute,

ich hänge seit gestern an einem Problem fest wo mir einfach keine Lösung einfällt.

Also ich lese aus einer Datenbank Termindaten mit Preis und Zeit aus. Das klappt auch was mir die reine Ausgabe auch beweist, nur nun das Problem und dazu erst mal der Code. Das ist nur ein Beispiel, es handelt sich dabei um meherere Werte die so behandelt werden.

PHP-Code:
<?php
   
/*
   *
   *   wenn beide felder in der DB auf 0 stehen und eine checkbox gewählt wird
   *   soll der zeitwert aus dem hiddenfeld automatisch in DB eingetragen werden
   */   
   
if($carDataFetch['order_car_class'] == "Golfklasse + Limousine" && $carDataFetch['order_innenrein_sp_time'] == && $carDataFetch['order_innenrein_sp_pr'] == && isset($_POST['ir_sp']) == 45){
 
    echo 
'<input type="hidden" name="inr_sp_time" value="45" />';
   }
   else if(
$carDataFetch['order_car_class'] == "Offroad + Kombi" && $carDataFetch['order_innenrein_sp_time'] == && $carDataFetch['order_innenrein_sp_pr'] == && isset($_POST['ir_sp']) == 45){
 
    echo 
'<input type="hidden" name="inr_sp_time" value="45" />';
   }
   else if(
$carDataFetch['order_car_class'] == "MiniVan + Kleinbus" && $carDataFetch['order_innenrein_sp_time'] == && $carDataFetch['order_innenrein_sp_pr'] == && isset($_POST['ir_sp']) == 60){
 
    echo 
'<input type="hidden" name="inr_sp_time" value="45" />';
   }
   
/*
   *
   *   wenn beide felder in der DB werte enthalzten soll textfeld erscheinen um den 
   *   zeitwert manuell zu ändern
   */
   
else if($carDataFetch['order_innenrein_sp_time'] != && $carDataFetch['order_innenrein_sp_pr'] != 0){
 
    echo 
'<input type="text" name="inr_sp_time" value="'.intval($carDataFetch['order_innenrein_sp_time']).'" style="width: 40px;" />';
   }
   
?>
Ich prüfe also ob in den jeweiligen DB Feldern die Zeit wie der Preis auf 0 stehen und ob die Checkbox anghakt ist, dann sollen die Hidden Felder mit den Werten aktiv sein, jenachdem was für eine Fahrzeugklasse existiert.

Und genau das funktioniert nicht, es wird die Zeit nicht mit eingetragen in die DB. Wenn ich nun die isset Prüfung auf die Checkbox weglasse, dann wird zwar die Zeit mit eingetragen, sobald ich aber den Button dann drücke werden die Zeiten von allen Sachen eingetragen ohne das die geschehen soll.

Meine Frage nun, wie kann ich es erreichen das wenn eine Box ausgewählt wurde die Zeitwerte mit eingetragen werden und zwar nur von den Leistungen die ausgewählt wurden.

Vielen Dank für eure Zeit und Hilfe. Mfg der litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de

Geändert von litterauspirna (13.01.2010 um 09:38 Uhr).
litterauspirna ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.01.2010, 09:58  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

isset($_POST['ir_sp']) == 45 ????
Rückgabewert von isset ist boolean
HPR1974 ist offline  
Alt 13.01.2010, 10:04  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Ja ok stimmt, aber auch wenn ich das isset raus mache und nur die Box auf den Wert vergleiche, wird die Zeit nicht eingetragen.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 13.01.2010, 10:21  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

Also irgendwie sieht das komisch aus, die ersten drei echos sind doch immer gleich,
isset hat boolean als Rückgabewert undwo soll in dem codebeispiel denn irgendwas eingetragen werden? da ist doch gar nichts mit Datenbank vorhanden?
HPR1974 ist offline  
Alt 13.01.2010, 10:25  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von litterauspirna
Und genau das funktioniert nicht, es wird die Zeit nicht mit eingetragen in die DB.
Vielleicht liegt der Fehler im DB-Script?

Edit: Ah... HPR hat die Frage schon in Raum gestellt.

Geändert von Arne Drews (13.01.2010 um 10:26 Uhr). Grund: Antwort von HPR zu spät gesehen
Arne Drews ist offline  
Alt 13.01.2010, 10:27  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Das ist weiter oben in einer extra Datei, die Sache ist die das ja der Wert der Checkbox, also der Preiswert eingetragen wird, nur der Zeitwert nicht. Und da weis ich momentan nicht bescheid.

Ich habe manuell mal in jedes Feld also Preis wie Zeitwert was eingetragen dann wird das Textfeld im letzten else if Zweig angezeigt und wenn ich da den Wert mal im Feld manuell ändere wird der auch korrekt übertragen also funktioniert das eintragen an sich auch. Es gibt ein Problem in der Kontrollstruktur wenn beide Feldwerte auf 0 stehen und die Checkbox angewählt wurde bzw. angehakt wurde, dann wird der Wert in dem Hiddenfeld eben nicht eingetragen und ich weis nicht warum das so passiert. Ich hoffe du verstehst jetzt ein wenig besser was ich meine.

[EDIT]
Also ich habe in der Auswertungsdatei mal ein echo $_POST['inr_time']; gemacht und es wird auch nicht ausgegeben, das heist es ist nicht existent und wird deshalb nichts eingetragen, wenn es um die ersten drei Fälle geht. Das heist das die Werte der Hiddenfelder im jeweiligen Fall nicht angenommen werden, warum aber kann ich mir nicht erklären. Gleichzeitig mache ich auch eine Testausgabe des Wertes von $_POST['ir']; und der Wert wird mir dann bei Buttondruck ausgegeben.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de

Geändert von litterauspirna (13.01.2010 um 10:36 Uhr).
litterauspirna ist offline  
Alt 13.01.2010, 10:39  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von litterauspirna
Wenn ich nun die isset Prüfung auf die Checkbox weglasse, dann wird zwar die Zeit mit eingetragen, sobald ich aber den Button dann drücke werden die Zeiten von allen Sachen eingetragen ohne das die geschehen soll.
Das würde bedeuten, daß Deine IF-Strukturen falsch angelegt wurden.
Was passiert denn, wenn Du das isset drin läßt, allerdings ohne die == -Prüfung, weil die ja nu' wirklich unlogisch ist.
Dann könntest Du auch nochmal überdenken, ob die Operatoren && korrekt sind.
Kann ich anhand des kleinen Code-Ausschnitts nicht unbedingt beurteilen.
Da vertut man sich aber leicht mal, wenn man auf mehrere Bedingungen prüft.

Jedenfalls deutet die Beschreibung mehr und mehr auf einen logischen Fehler bei den Kontroll-Strukturen hin, bin ich der Meinung.
Arne Drews ist offline  
Alt 13.01.2010, 10:49  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Richtig der Meinung bin ich auch, also folgendes muss gegeben sein.

1.) der Wert des Preises in dem Feld der DB Tabelle muss 0 sein
2.) der Wert der Zeit in dem Feld der DB Tabelle muss 0 sein
3.) es muss die Checkbox angehat sein um eben nur den jeweiligen Wert zu ändern und nicht wie es war alle

Das isset ist schon raus aus den Prüfungen.

Das heist eigentlich ist Logische Struktur ja korrekt.

PHP-Code:
<?php
    
   
if($carDataFetch['order_car_class'] == "Golfklasse + Limousine" && $carDataFetch['order_innenrein_time'] == && $carDataFetch['order_innenrein_pr'] == && $_POST['ir'] == 15){
     
    echo 
'<input type="hidden" name="inr_time" value="15" />';
   }
   else if(
$carDataFetch['order_car_class'] == "Offroad + Kombi" && $carDataFetch['order_innenrein_time'] == && $carDataFetch['order_innenrein_pr'] == && $_POST['ir'] == 15){
     
    echo 
'<input type="hidden" name="inr_time" value="15" />';
   }
   else if(
$carDataFetch['order_car_class'] == "MiniVan + Kleinbus" && $carDataFetch['order_innenrein_time'] == && $carDataFetch['order_innenrein_pr'] == && $_POST['ir'] == 20){
     
    echo 
'<input type="hidden" name="inr_time" value="15" />';
   }
   else if(
$carDataFetch['order_innenrein_time'] != && $carDataFetch['order_innenrein_pr'] != 0){
    
    echo 
'<input type="text" name="inr_time" value="'.intval($carDataFetch['order_innenrein_time']).'" style="width: 40px;" />';
   }
   
?>
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 13.01.2010, 10:50  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

$_POST['inr_time']; ? es gibt in deinem geposteten code kein formularfeld das den namen hat

edit sagt:
jetzt schon, oben wars anderer code

Geändert von HPR1974 (13.01.2010 um 10:50 Uhr). Grund: jetzt schon, oben wars anderer code
HPR1974 ist offline  
Alt 13.01.2010, 11:10  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
1.) der Wert des Preises in dem Feld der DB Tabelle muss 0 sein
2.) der Wert der Zeit in dem Feld der DB Tabelle muss 0 sein
3.) es muss die Checkbox angehat sein um eben nur den jeweiligen Wert zu ändern
Der Beschreibung nach zu beurteilen, würde ich auch sagen daß das auf jeden Fall &&-Verknüpfungen sind.

Wenn meine Vermutung richtig ist, daß $carDataFetch['order_car_class'] Deine Checkbox ist, kannst ja mal testen was passiert, wenn Du bspw.
PHP-Code:
$carDataFetch['order_car_class'] == "Golfklasse + Limousine" 
ersetzt durch
PHP-Code:
isset($carDataFetch['order_car_class']) 
weil Checkboxen nur übertragen werden, wenn sie angehakt sind.
Arne Drews ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
input.value wird neu gesetzt, aber nicht übernommen Raiden JavaScript, Ajax und mehr 6 17.08.2009 15:59
Daten werden doppelt in MySQL Tabelle eingetragen despotar PHP Tipps 2009 8 12.07.2009 18:57
[Erledigt] Variable wird nicht übernommen mastertnt PHP Tipps 2009 16 24.06.2009 23:56
[Erledigt] Session Variable wird nicht übernommen mastertnt PHP Tipps 2009 7 13.02.2009 00:18
Nach Reload wird erneut eingetragen picco PHP Tipps 2009 15 22.01.2009 19:44
Problem Mit Script, Variable wird nicht übernommen Moe PHP Tipps 2008 17 01.10.2008 16:12
Umlaute ä,ö,ü und ß werden beim SQL Import nicht übernommen Plague Datenbanken 7 17.09.2007 17:28
0 wird nicht in BIGINT Feld eingetragen? NetLook Datenbanken 3 23.11.2006 17:28
Datum wird 2mal eingetragen slimer PHP Tipps 2006 5 06.06.2006 18:01
Variable aus importierte Datei nicht übernommen nieselfriem PHP Tipps 2006 3 28.05.2006 11:34
auto_increment wird nicht übernommen snatch-ic Datenbanken 12 27.04.2006 16:45
Änderungen in der php.ini werden nicht übernommen Server, Hosting und Workstations 9 22.08.2005 12:27
Es wird nichts in die Datenbank eingetragen !!bitte helfen! Datenbanken 8 20.08.2005 13:42
werte werden nicht in die sql db eingetragen??? PHP Tipps 2005 3 29.05.2005 23:29
variablen werden nicht übernommen PHP Tipps 2004-2 9 02.12.2004 17:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php $_post bedingeungsprüfung, hidden felder werden in php nicht übernommen, felder werte werden nu teilweise in der $_post[] übernommen, formularwerte html reload, session php formularwerte

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum