Hallo zusammen,
ich schreibe grad eine kleine Terminübersicht. Mit dem Insert komm ich allerdings noch nicht so wirklich zurecht. Hab schon versucht mit aus Code Beispielen etwas abzuleiten aber das funktioniert leider nicht.
Da ich bislang noch nicht (zumindest nicht viel) mit PHP gearbeitet hab, stellen sich hier noch viele Fragen. Programme schreiben kann ich, aber Webanwendungen scheinen doch anders zu sein
Aber mal zum Problem:
Ich habe hier folgenden Code:
________________________________________________
<?php
session_start();
require_once("inc/config.inc.php");
require_once("inc/functions.inc.php");
//Überprüfe, dass der User eingeloggt ist
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
$user = check_user();
include("templates/header.inc.php");
if(isset($_GET['save'])) {
$save = $_GET['save'];
if($save == 'newtermin') {
$datumvon = ($_POST['date']);
$datumbis = ($_POST['date']);
$terminuser = $user['id'];
$betreff = trim($_POST['betreff']);
$detail = trim($_POST['detail']);
$ispublic = trim($_POST['public']);
if($datumvon > $datumbis) {
$error_msg = "Startdatum ist später als das Enddatum";
} else {
$statement = $pdo->prepare("INSERT INTO termine (Datum, Datum_bis, User_ID, Betreff, Details, public) VALUES (:datumvon, :datumbis, :terminuser, :betreff, :detail, :ispublic)");
$result = $statement->execute(array('Datum' => $datumvon, 'Datum_bis' => $datumbis, 'User_ID' => $terminuser, 'Betreff' => $betreff, 'Details' => $detail, 'public' => $ispublic));
// $success_msg = "Termin erfolgreich gespeichert. ";
$success_msg = trim($statement);
}
__________________________________________
Die grundsätzlich Datenbankverbindung funktioniert und selects werden auch angezeigt. Nur möchte ich vermeiden, dass jeder erst nen phpmyadmin account bekommt um Termine einzutragen
Kann mir einer evtl sagen, warum das nicht funktioniert?
Als Fehler bekomme ich:
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in datei on Line 28 (Zeile mit dem Result)
Komm da echt grad nicht weiter
Gruß
Virtex
ich schreibe grad eine kleine Terminübersicht. Mit dem Insert komm ich allerdings noch nicht so wirklich zurecht. Hab schon versucht mit aus Code Beispielen etwas abzuleiten aber das funktioniert leider nicht.
Da ich bislang noch nicht (zumindest nicht viel) mit PHP gearbeitet hab, stellen sich hier noch viele Fragen. Programme schreiben kann ich, aber Webanwendungen scheinen doch anders zu sein
Aber mal zum Problem:
Ich habe hier folgenden Code:
________________________________________________
<?php
session_start();
require_once("inc/config.inc.php");
require_once("inc/functions.inc.php");
//Überprüfe, dass der User eingeloggt ist
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
$user = check_user();
include("templates/header.inc.php");
if(isset($_GET['save'])) {
$save = $_GET['save'];
if($save == 'newtermin') {
$datumvon = ($_POST['date']);
$datumbis = ($_POST['date']);
$terminuser = $user['id'];
$betreff = trim($_POST['betreff']);
$detail = trim($_POST['detail']);
$ispublic = trim($_POST['public']);
if($datumvon > $datumbis) {
$error_msg = "Startdatum ist später als das Enddatum";
} else {
$statement = $pdo->prepare("INSERT INTO termine (Datum, Datum_bis, User_ID, Betreff, Details, public) VALUES (:datumvon, :datumbis, :terminuser, :betreff, :detail, :ispublic)");
$result = $statement->execute(array('Datum' => $datumvon, 'Datum_bis' => $datumbis, 'User_ID' => $terminuser, 'Betreff' => $betreff, 'Details' => $detail, 'public' => $ispublic));
// $success_msg = "Termin erfolgreich gespeichert. ";
$success_msg = trim($statement);
}
__________________________________________
Die grundsätzlich Datenbankverbindung funktioniert und selects werden auch angezeigt. Nur möchte ich vermeiden, dass jeder erst nen phpmyadmin account bekommt um Termine einzutragen
Kann mir einer evtl sagen, warum das nicht funktioniert?
Als Fehler bekomme ich:
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in datei on Line 28 (Zeile mit dem Result)
Komm da echt grad nicht weiter
Gruß
Virtex
Kommentar