Wie wär's mit $_POST statt $HTTP_POST... PHP5 unterstützt es z.B. nicht mehr.
Hallo Leute, folgendes Problem:
Ich habe hier eine mySQL-Tabelle mit folgenden Spalten und deren Eigenschaften:
id int(10) UNSIGNED NOT NULL auto_increment index
content text NOT NULL
date VARCHAR(10) NOT NULL
name VARCHAR(100) NOT NULL
Dann hab ich die Datei 'postnews.php' geschrieben.
Zur Ausgabe hab ich das File 'shortnews.php':Code:<?php include("inc/mysql_connect.php"); $content = $HTTP_POST_VARS["content"]; $date = $HTTP_POST_VARS["date"]; $name = $HTTP_POST_VARS["name"]; $post = "INSERT INTO tbl_shnews (content, date, name) VALUES ('$content', '$date', '$name')"; $postnews = mysql_query($post); ?> <form action="<?php echo $PHP_SELF ?>" method="post" enctype="text/plain" name="shortnews"> <input name="name" type="text" size="30" maxlength="100"><br/> <input name="date" type="text" size="30" maxlength="10" value="<?php $datum = date("d.m.Y",$timestamp); echo $datum; ?>"><br/> <textarea name="content" cols="30" rows="10"></textarea><br/><br/> <input name="postnews" type="button" value="News Posten"></form>
Nun, wenn ich etwas ins Formular eintrage wird, ausser der id nichts in die Datenbank übertragen! Habe keine Ahnung an was das liegt. Hab das Script lokal, sowie auf meinem Webspace ausprobiert, sollte also imho nicht an den Serverkonfigs liegen.....Code:<?php include("inc/mysql_connect.php"); $dbquery = "SELECT * FROM tbl_shnews ORDER BY id DESC LIMIT 5"; $dbresult = mysql_query($dbquery); while($row = mysql_fetch_object($dbresult)) { echo $row->content, "<br/>"; } ?>
Danke schon mal für eure Antworten!
Wie wär's mit $_POST statt $HTTP_POST... PHP5 unterstützt es z.B. nicht mehr.
Danke für die Info, verwende aber noch PHP4...
Funktioniert aber auch damit nicht![]()
Die DB Spalten sollten doch so in Ordnung sein oder? Liegts an der mySQL Version? an der PHP Version?
Also das Formular und die Übertragung sollte eigentlich funktionieren, es wird nur nix in die Datenbank eingetragen wenn ich z.B in phpmyadmin nachschaue sind die Felder content, name und date leer...![]()
Einmal würd ich wie Strogij schon sagt $_POST nutzen.
Weiterhin sicherstellen, das überhaupt POST Daten hat, sonst wird schon bei Pageaufruf ein Datensatz angelegt.
Und zu guter letzt, für das enctype einen passenden verwenden.
Ach ja, $timestamp musst Du schon definieren
Fast vergessen
Du musst als Button ein submit nehmen, kein button.
Button hat so keine aktion, die nutzt man, um ihnen via JavaScript eine Funktion zu geben.
PHP-Code:<?
include("inc/mysql_connect.php");
if($_POST){
$content = $_POST["content"];
$date = $_POST["date"];
$name = $_POST["name"];
$post = "INSERT INTO tbl_shnews (content, date, name) VALUES ('$content', '$date', '$name')";
$postnews = mysql_query($post);
}
$timestamp = time();
?>
<html>
<head>
<title></title>
<head>
<body>
<form action=<?echo $PHP_SELF;?> method="post" enctype="text/html" name="shortnews">
<input name="name" type="text" size="30" maxlength="100"><br/>
<input name="date" type="text" size="30" maxlength="10" value="<?$datum = date("d.m.Y",$timestamp);
echo $datum; ?>"><br/>
<textarea name="content" cols="30" rows="10"></textarea><br/><br/>
<input name="postnews" type="submit" value="News Posten"></form>
</body>
</html>
Geändert von webcreate (05.12.2004 um 01:04 Uhr)
Hmm, dein Post leuchtet mir eigentlich ein! Doch leider ist das nicht die Lösung meines Problems, es funktioniert nämlich immer noch nicht![]()
aber danke shcon mal
/edit
Hab vergessen den enctype zu ändern, jetzt funktionierts! Danke dir!!![]()
\edit
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)