Variablenproblem

Lektor21

Erfahrenes Mitglied
Guten Morgen!

Also ich habe in der $zeitraum Monate angegeben! So nun möchte ich gern, dass diese Monate bei
PHP:
if ($_POST["buy"])
zu meinem Datum in der $payuserto (im Format dd.mm.jjjj) hinzugefügt werden!

Ich bekomme es einfach nicht hin! Wie kann man das ganz einfach lösen?

Die Variable für das neue Datum soll $new_payuserto heißen!

Dankeschön und erst einmal gute Nacht ;)
 
Sehr schwammige Angaben. Was steht da in buy drin? Was hast du schon? Und was willst du genau am Schluss? Wenn du einzelne Angaben für Tag, Monat, Jahr hast, dann kannst du implode() brauchen. Allerdings ist das jetzt Kristallkugelgerate, da ich nicht kapiert habe was du genau möchtest.
 
Falls ich dich richtig verstanden habe:
PHP:
if( isset($_POST['buy']) ) {
	list($tag, $monat, $jahr) = sscanf('%u.%u.%u', $payuserto);
	if( ($monat =+ $zeitraum) > 12 ) {
		$monat -= 12;
		$jahr++;
	}
	$new_payuserto = implode('.', array($tag, $monat, $jahr);
}
 
Aaalso in der Buy steht gar nichts! Diese benutze ich nur als Button, der buy heißt!

And dem Code stimmt irgendwie was nicht! Bekomme folgenden Error:

Parse error: parse error, unexpected ';' in /web/test/account/pay.php on line 20

Und das ist folgende Zeile:

PHP:
    $new_payuserto = implode('.', array($tag, $monat, $jahr);
 
da fehlt am Ende ne )

Ich hab solche Probleme immer mit mktime() und date() gelöst.

z.B.
date("d.m.Y",mktime($stunde,$minute,$sekunde,$monat+3,$tag,$jahr));
 
Zuletzt bearbeitet:
Danke habs schon gemerkt!

Also wenn jetzt die Variable $zeitraum 4 z.B. ist, ist die Variable $new_payuserto = .4.!

Eigentlich soll ja dann die Variable $new_payuser z.B. 01.05.2007 sein wenn die Variable $payuserto z.B. 01.01.2007 ist!

Also $new_payuser = $payuser + $zeitraum (MONATE)!

Versteht Ihr mich? :confused:
 
Probier das mal:
PHP:
$date = explode(".",$startdatum);

$neuesdatum = date("d.m.Y",mktime(0,0,0,$date[1]+$anzahlmonate,$date[0],$date[2]));

Keine Garantie das das funktioniert. Habs nich getestet.
 
Also es funktioniert schonmal so wie ich will!

Aber er gibt mir nen uraltes Datum an!?

PHP:
$new_payuserto = date("d.m.Y",mktime(0,0,0,$date[1]+$zeitraum,$date[0],$date[2]));

Er soll ja das Datum aus der $payuserto im Format dd.mm.jjjj nehmen! Diese ist schon in diesem Format vorhanden und soll da die Monate draufrechnen!

Hab ich irgendeinen Schussligkeitsfehler gemacht?
 
hast du
PHP:
$date = explode(".",$payuserto);
drüber?

Das zerlegt das alte Datum damit du in mktime() den Monat, Tag und Jahr eintragen kannst.
 
Ja hab ich!

Ich verstehe bloß nicht, wie der auf das Datum kommt! Das liegt 7 Jahre zurück!? :confused:

Hmm jetzt hab ich mir mal die Variablen ausgeben lassen:

$new_payuserto = 31.12.1999
$payuserto = 31.12.2007
$date = Array
$zeitraum = 1 (Wenn ich 1 Auswähle)

Und der Code sieht so aus:

PHP:
if( isset($_POST['buy']) ) {
    
    
$date = explode(".",$payuserto);    

$new_payuserto = date("d.m.Y",mktime(0,0,0,$date[1]+$zeitraum,$date[0],$date[2]));

}

PS: Wenn ich keinen Zeitraum angebe, wird mir dieses Datum ausgegeben: 01.01.1970! Gebe ich nun eine 1 als Zeitraum an wird mir 31.12.1999 angezeigt!?
 
Zuletzt bearbeitet:
Zurück