php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.07.2011, 18:49  
Neuer Benutzer
 
Registriert seit: 18.07.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Kellis befindet sich auf einem aufstrebenden Ast
Standard Parameterübergabe

Hallo,

ich wollte einen Zeitrechner coden der mir die Zeitdifferenz von Serverzeit zu eingegebener Zeit ausgibt.
Jedoch gibt es bei der Übergabe der Parameter vom Formular in die Methode mktime() anscheinend einen Fehler.

Formular:
PHP-Code:
<form >
    
Tag:<br><input name="_tag" type="int" size="30" maxlength="30"><br />
      
Monat:<br><input name="_monat" type="int" size="30" maxlength="40"><br />
    
Jahr:<br><input name="_jahr" type="int" size="30" maxlength="40"><br />
    
Stunden:<br><input name="_h" type="int" size="30" maxlength="40"><br />
    
Minuten:<br><input name="_m" type="int" size="30" maxlength="40"><br />
    
Sekunden:<br><input name="_s" type="int" size="30" maxlength="40"><br />
    <
input type="submit" name="button" value="Senden"  />
    
</
form
phpcode:
PHP-Code:
<?php
if (isset($_REQUEST['button'])) {
$diff time() - mktime($_POST["_h"], $_POST["_m"], $_POST["_s"], $_POST["_monat"], $_POST["_tag"], $_POST["_jahr"]);

$secs $diff 60
$diff floor($diff 60); 
$min $diff 60
$diff floor($diff 60); 
$hour $diff 24
$diff floor($diff 24); 
echo 
$diff " Tage, " $hour " Stunden, " $min " Minuten und " $secs " Sekunden<br />";

$debug mktime($_POST["_h"], $_POST["_m"], $_POST["_s"], $_POST["_monat"], $_POST["_tag"], $_POST["_jahr"]);
$test date(r$debug);
echo 
"$test";
}
?>
Bin durch die Variable $debug auf den Fehler in der Parameterübergabe gestoßen, nachdem ich immer das selbe Datum ausgegeben bekomme..

Würde mich über Hilfe freuen.
Danke
Kellis ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.07.2011, 18:54  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Kellis Beitrag anzeigen
Würde mich über Hilfe freuen.
Und wir uns über eine nachvollziehbare Problembeschreibung.

Zitat:
Jedoch gibt es bei der Übergabe der Parameter vom Formular in die Methode mktime() anscheinend einen Fehler.
Heißt was ...?
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 18.07.2011, 19:08  
Neuer Benutzer
 
Registriert seit: 18.07.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Kellis befindet sich auf einem aufstrebenden Ast
Standard

Sorry für die unklare Formulierung..

Im Formular setzte ich die Werte, die dann in die mktime-Methode übergeben werden. - Sobald der Button geklickt wird.

Hier ist der Fehler.
Die Parameter werden nicht übergeben.
Mir wird nämlich beim Debuggen immer das selbe Datum ausgegeben - nämlich "Tue, 30 Nov 1999 00:00:00 +0100"

Die Werte aus dem Formular werden hier nicht zugeordnet:
PHP-Code:
mktime($_POST["_h"], $_POST["_m"], $_POST["_s"], $_POST["_monat"], $_POST["_tag"], $_POST["_jahr"]) 
Hoffe es ist nun etwas klarer..
Thx
Kellis ist offline   Mit Zitat antworten
Alt 18.07.2011, 19:10  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Kellis Beitrag anzeigen
Die Parameter werden nicht übergeben.
Vermutlich doch - aber nicht per POST, weil du nicht angegeben hast, dass du diese Methode verwenden willst.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 18.07.2011, 19:16  
Erfahrener Benutzer
 
Registriert seit: 25.05.2010
Beiträge: 852
PHP-Kenntnisse:
Anfänger
Trainmaster wird schon bald berühmt werden
Standard

Zitat:
Zitat von Kellis Beitrag anzeigen
PHP-Code:
type="int" 
Einen "int"-Typ gibt es nicht. Bitte informiere dich über gültige Typen: http://www.w3.org/TR/html4/interact/...def-type-INPUT
Trainmaster ist offline   Mit Zitat antworten
Alt 18.07.2011, 19:19  
Neuer Benutzer
 
Registriert seit: 18.07.2011
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Kellis befindet sich auf einem aufstrebenden Ast
Standard

So danke vorerst mal!
Ich hatte wirklich vergessen die Methode im Forumlar anzugeben oO

@Trainmaster:
thx, hast Recht. Har aber auch so funktioniert.
Ich musste die Parameter aus dem Formular beim Übergeben in mktime sowieso casten.

Funktioniert alles soweit.
Danke
Kellis ist offline   Mit Zitat antworten
Alt 18.07.2011, 19:38  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Kellis Beitrag anzeigen
@Trainmaster:
thx, hast Recht. Har aber auch so funktioniert.
Jeder dem Browser nicht bekannte Typ wird automatisch als type=text interpretiert.

Das ist ja auch der vorgesehen Fallback für die neuen HTML5-Typen wie date etc., so lange ein Browser die noch nicht kennt/unterstützt.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 19.07.2011, 19:15  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.871
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Don't make time, use DateTime.

PHP-Code:
if (isset($_REQUEST['button'])) { 
$diff time() - mktime($_POST["_h"], $_POST["_m"], $_POST["_s"], $_POST["_monat"], $_POST["_tag"], $_POST["_jahr"]); 

$secs $diff 60;  
$diff floor($diff 60);  
$min $diff 60;  
$diff floor($diff 60);  
$hour $diff 24;  
$diff floor($diff 24);  
echo 
$diff " Tage, " $hour " Stunden, " $min " Minuten und " $secs " Sekunden<br />"

$debug mktime($_POST["_h"], $_POST["_m"], $_POST["_s"], $_POST["_monat"], $_POST["_tag"], $_POST["_jahr"]); 
$test date(r$debug); 
echo 
"$test"

wird ( mit ein paar sicherheits- und validitäts-features ) zu:
PHP-Code:
// fetch incoming request method
$request $_SERVER['REQUEST_METHOD'] == 'GET' $_GET $_POST;

// decide url-fields
$select = array('_h''_m''_s''_monat''_tag''_jahr');
$san = array();

// fetch url-fields, if unavailable assign default value '00'
foreach ( $select as $prep $san['{'.$prep.'}'] = isset($request[$prep]) ? (string)intval($request[$prep]) : '00';

$dateConcate '{_jahr}-{_monat}-{_tag} {_h}:{_m}:{_s}'// prepare date as pattern
$dateConcate str_replace(array_keys($san), $san$dateConcate); // inject date to pattern

// get difference as DateInterval-Object
$diff date_diffdate_create(), date_create($dateConcate) );

// Output:
echo $diff->days.' Tage, '.$diff->h.' Stunde(n), '.$diff->i.' Minute(n), '.$diff->s.' Sekunde(n)<br />'
Lektüre:
DateTime
DateInterval
date_create
date_diff

Viel Spass
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.

Geändert von tr0y (19.07.2011 um 19:23 Uhr).
tr0y ist gerade online   Mit Zitat antworten
Antwort


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
[Erledigt] Parameterübergabe nach Authentifizierung udo.walz PHP Einsteiger 10 12.06.2011 00:42
[Erledigt] Parameterübergabe - Funktion Kurd Laßwitz PHP Einsteiger 5 16.02.2011 21:20
[Erledigt] URL Parameterübergabe mit Semikolon? monk PHP Einsteiger 14 18.01.2011 18:51
Parameterübergabe PHP Tipps 2007 1 21.11.2005 03:39
PHP und ASP.Net WebService Parameterübergabe Problem PHP Tipps 2007 0 04.11.2005 07:57
Parameterübergabe seven-12 PHP Tipps 2005-2 0 05.08.2005 11:09
Problem mit Parameterübergabe seven-12 PHP Tipps 2005-2 0 05.08.2005 11:08
Optionale Parameterübergabe an Funktion/Methode PHP Tipps 2005 3 06.04.2005 10:41
Word aus PHP aufrufen + Parameterübergabe ? sharky PHP Tipps 2005 5 11.02.2005 08:25
PHP 4.2.2 und / statt ? als Parameterübergabe RcRaCk2k PHP-Fortgeschrittene 4 11.01.2005 17:25
Parameterübergabe Igäl PHP Tipps 2004-2 15 23.12.2004 12:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php parameterübergabe formular, php mktime $_post, php formularfeld type=\int\, php5 parameter übergabe formular

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:52 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