• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

habe mit geburtstages felder problem

Umar

New member
Hallo,

Ich versuche es noch mal.

Ich möchte Geburtsdatums werte mit einder verbinden, damit ich die dan in mysql per php eintragen kann.

Meine Test Webseite: Bei http://umar420.um.funpic.de/WWW.PLAYKHA.ORG/REGESTRATION/

Hier habe ich Geburtsdatums 3 felder (day, month und year) die ich gerne mir einder verbinden möchte.

Mein PHP CODE

PHP:
 private $geburtsdatum = array "day[0]","month[1]","year[2]";
 
Zuletzt bearbeitet:
@Arcsinh: Damit hat es auch nicht geklappt habe jezt komplete code hier im terade geschriebn

PHP:
<?php

class Person {

    private $username ;
    private $password;
	private $email;
	private $geburtsdatum = array "day","month","year";
	private $location;
	private $job;
    private $skype;

	
    function  __construct($username , $password , $email, $geburtsdatum, $location, $job, $skype ) {
        $this->username  = $username ;
        $this->password = $password;
		$this->email = $email;
		$this->geburtsdatum = $geburtsdatum;
		$this->location = $location;
		$this->job = $job;
		$this->skype = $skype;

    }

	
	//SET ANFANG
	
   	function setUsername ($username ){
        $this->username  = $username ;
    }
	
    public function setPassword($password){
        $this->password = $password;
    }
	
	function setEmail ($email ){
        $this->email  = $email ;
    }

	function setGeburtsdatum ($geburtsdatum ){
        $this->geburtsdatum  = $geburtsdatum ;
    }
	 	
	function setLocation ($location ){
        $this->location  = $location ;
    }
	
	function setJob ($job ){
        $this->job  = $job ;
    }
	
	function setSkype ($skype ){
        $this->skype  = $skype ;
    }
	
	
	// GET ANFANG
	
    public function getUsername (){
        return $this->username ;
    }

    public function getPassword(){
        return $this->password;
    }
	

    public function getEmail(){
        return $this->email;
    }
    
	public function getGeburtsdatum(){
        return $this->geburtsdatum;
    }

	public function getLocation(){
        return $this->location;
    }
	
	public function getJob(){
        return $this->job;
    }
	
	public function getSkype(){
        return $this->skype;
    }

}
?>

Das ist php code die von html formular die felder ausliest. Es gehen alle felder bis auf geburtdadtum nur ich verstehe nicht wo das fehler ist. Ich zeige euch auch MySQL Befehl:

PHP:
<?php

include_once 'ClassPerson.php';

$person = new Person($_POST['username'], $_POST['password'], $_POST['email'], $_POST['geburtsdatum'], $_POST['location'], $_POST['job'], $_POST['skype']);
					 
					 

					 
$mysql = new MySQLi('localhost', 'root', '', 'loginsystem');

if(!$mysql){
    echo 'Nicht Verbunden';
}
else{
    echo 'Datenbankverbindung hergestellt';
    echo '<br>';
}

/* EMAIL CHEKING ANFANG */
                    
if ( $_POST['email'] == $_POST['emailconfirm'] )
{
   					 
}
else
{
die("E-Mailadressen stehen nicht über ein");
} 

/* EMAIL CHEKING ENDE */


$sql = sprintf('INSERT INTO benutzerdaten (username, password, email, geburtsdatum, location, job, skype) VALUES (\'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\' )',
       $mysql->real_escape_string($person->getUsername()),
	   $mysql->real_escape_string($person->getPassword()),
	   $mysql->real_escape_string($person->getEmail()),
	   $mysql->real_escape_string($person->getGeburtsdatum()),
	   $mysql->real_escape_string($person->getLocation()),
	   $mysql->real_escape_string($person->getJob()),
	   $mysql->real_escape_string($person->getSkype())

       
     );
$mysql->query($sql);

if($mysql->close()){
    echo 'Verbindung getrennt';
    echo '<br>';
}

?>
 
Zuletzt bearbeitet:
Was hat dieser Code mit der gezeigten Seite zu tun?
Und was hast du dir bei der Vorbelegung des Geburtstags gedacht? Du überschreibst das ja sofort im Konstruktor.
 
Ja mit den code habe ich alle felder geschaft bis aug geb feld nur das felt ich verstehe nicht warum das nicht geht. Und auserdem verstehe ich nicht was du so ganz meinst ???
 
dein formular hat kein feld namens "geburtsdatum", du versuchst allerdings auf $_POST['geburtsdatum'] zuzugreifen.
 
Zuletzt bearbeitet:
Aso aber ich habe doch 3 felder die heist day, month und year. Und wie soll ich die drei felder in daten bank übertragen, weil in daten bank hab ich nur ein feld und die heist geburtsdatum (formatiert DATE). Wie kan ich per php bzw. wie muss code sein damit ich einrichten kann??
 
Schau' dir doch mal an, wie das DATE-Format in deiner DB aussieht und bastle das Datum dementsprechend zusammen... ich verstehe dein Problem nicht... oder weißt du nicht, wie man Strings in PHP verknüpft?
 
Danke ich habe es geshafft mi den code:

PHP:
private $geburtsdatum = array('year', 'month', 'day');

Aber die zahlen von geburtsdatum felder werden nicht in mysql übertragen in mysql steht 0000-00-00 ???
 
Zuletzt bearbeitet:
Mir scheint es so, dass du dir die Fehlermeldungen von PHP nicht ausgeben lässt - das erschwert die Entwicklung sehr =>
Code:
error_reporting(E_ALL);
... und lass' dir doch einfach mal mit print_r ausgeben, wie deine Variabel $person wirklich aussieht...
 
Zurück
Oben