I have a simple message form that requires a message in a textarea box and if they are not logged in, must
state who they are in a text box. When it submits to itself, then requires chapterpdo5.php to insert, it
doesnt insert. other connections on my site work but not this one. maybe the code? here it is:
chapter.php:
[php]
if (!empty($userid) && $userid != $_SESSION[“id”])
{
if (isset($_POST[“messagesubmit”]))
{
if (!isset($_SESSION[“login”]))
{
if ($_POST[“credentials”] == null || strlen($_POST[“credentials”]) > 25)
{
$_SESSION[“credentialserror”] = “Please identify yourself”;
$_SESSION[“messagesuccess”] = “”;
}
if ($_POST[“credentials”] != null && strlen($_POST[“credentials”]) < 25)
{
$_SESSION[“credentialserror”] = “”;
}
}
if ($_POST[“message”] == null || strlen($_POST[“message”]) > 500)
{
$_SESSION[“messageerror”] = “Please enter your message”;
$_SESSION[“messagesuccess”] = “”;
}
if ($_POST[“message”] != null && strlen($_POST[“message”]) < 500)
{
$_SESSION[“messageerror”] = “”;
}
if ($_SESSION[“messageerror”] == “” && $_SESSION[“credentialserror”] == “”)
{
require “chapterpdo5.php”;
}
}
echo "Message Me: ";
?><form action = “<?php echo $_SERVER["PHP_SELF"]; echo "?id=" . $userid; ?>” method=“post”>
<?php echo $_POST["message"]; ?><?php echo "" . $_SESSION["messageerror"] . ""; echo $_SESSION["messagesuccess"]; if (!isset($_SESSION["login"])) { echo "
From: " . "" . "" . $_SESSION["credentialserror"] . "
"; } ?>[/php]
and for the included chapterpdo5.php:
[php]
<?php session_start(); $userid = $_GET["id"]; if (isset($_SESSION["login"])) { try { $conn = new PDO("mysql:dbname=xxx;host=xxx.db.1and1.com", "xxx", "xxx" ); $sql = $conn->prepare("INSERT INTO Messages (To, From, Message) VALUES ( ?, ?, ?)"); $sql->execute(array($userid, $_SESSION['id'], $_POST['message'])); $conn = null; $_SESSION["messagesuccess"] = "Message Sent" . $userid . $_SESSION['id'] . $_POST['message']; } catch(PDOException $e) { echo $e->getMessage(); $conn = null; } } if (!isset($_SESSION["login"])) { try { $conn = new PDO("mysql:dbname=xxx;host=xxx.db.1and1.com", "xxxxx7", "dontbackbite" ); $sql = $conn->prepare("INSERT INTO Messages (To, From, Message) VALUES ( ?, ?, ?)"); $sql->execute(array($userid, $_POST['credentials'], $_POST['message'])); $conn = null; $_SESSION["messagesuccess"] = "Message Sent" . $userid . $_POST['credentials'] . $_POST['message']; } catch(PDOException $e) { echo $e->getMessage(); $conn = null; } } ?>[/php]
What is wrong here? thanks