|
You last visited: Today at 10:22
Advertisement
Insert klappt nicht richtig
Discussion on Insert klappt nicht richtig within the Web Development forum part of the Coders Den category.
10/10/2013, 23:24
|
#1
|
elite*gold: 60
Join Date: Sep 2013
Posts: 1,427
Received Thanks: 248
|
Insert klappt nicht richtig
Hallo,
ich habe ein Problem: Ich möchte, dass ein Text in eine Datenbank gespeichert wird. Jedoch funktioniert das "INSERT" nicht richtig. bzw. Ich weiß nicht, wie der Fehler zustande kommt.
Code aus der Datei mit dem Formular:
Code:
<p>
<h1>Erstellen - Links</h1>
<form method="post" action="includes/eintrag_l.php">
<input type="hidden" name="date" value="<? echo date("Y-m-d H:i:s") ?><br />
<p>Überschrift<br /><input type="text" name="head"><br /></p>
<p>Eintrag<br /><textarea name="main" cols="50" rows="8"></textarea><br /></p>
<p><input type="submit" value="Eintrag erstellen"></p>
</form>
</p>
Code aus eintrag_l.php:
Code:
<?php
error_reporting(-1);
ini_set('display_errors', true);
/*$dbconfig = array();
$dbconfig['host'] = "localhost";
$dbconfig['user'] = "root";
$dbconfig['pwd'] = "";
$dbconfig['db'] = "cms";*/
DEFINE('DB_USER', 'root');
DEFINE('DB_PASSWORD', '');
DEFINE('DB_HOST', 'localhost');
DEFINE('DB_NAME', 'cms');
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}
?>
<html>
<head>
<title>Eintrag wird erstellt</title>
</head>
<body>
<?php
$date = $_POST['date'];
$head = $_POST['head'];
$main = $_POST['main'];
$main = nl2br($main);
$connect = new mysqli("localhost", "root", "", "cms")
or die("MySQL-Error: " . mysql_error());
$eintrag="INSERT INTO tbl_eintrag_links (eintrag_header, eintrag_main, eintrag_datetime)
VALUES
('$head','$main','$date')";
echo "<p>Der Eintrag wurde erstellt.</p>";
/*echo '<meta http-equiv="refresh" content="3; ../admin.php" />';*/
?>
</body>
Wenn ich es so mache, passiert nichts. Die Namen der Spalten habe ich richtig angegeben.
|
|
|
10/11/2013, 08:55
|
#2
|
elite*gold: 0
Join Date: Jul 2008
Posts: 1,826
Received Thanks: 226
|
Hey, was gibt dir ein var_dump($_POST); aus?
Du benutzt mischst das ganze zuviel, in der eintrag_l.php brauchst du keinen HTML Code
Code:
<?php
error_reporting(-1);
ini_set('display_errors', true);
/*$dbconfig = array();
$dbconfig['host'] = "localhost";
$dbconfig['user'] = "root";
$dbconfig['pwd'] = "";
$dbconfig['db'] = "cms";*/
DEFINE('DB_USER', 'root');
DEFINE('DB_PASSWORD', '');
DEFINE('DB_HOST', 'localhost');
DEFINE('DB_NAME', 'cms');
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
}
if(isset($_POST){
$date = $_POST['date'];
$head = $_POST['head'];
$main = $_POST['main'];
$main = nl2br($main);
$connect = new mysqli("localhost", "root", "", "cms")
or die("MySQL-Error: " . mysql_error());
$eintrag="INSERT INTO tbl_eintrag_links (eintrag_header, eintrag_main, eintrag_datetime)
VALUES
('$head','$main','$date')";
$rgw = mysqli_query($eintrag);
if($rgw){
header('Location: ../admin.php');
die();
}else{
die('Fehler beim einfügen');
}
?>
Dein Fehler ist du führst dein SQL-Statement nirgends aus, ich hab den Code jetzt mal überarbeitet versuch diesen mal bitte
Ansonsten solltest du eventuell deine Struktur nochmal überdenken. Du könntest den Insert auch in deiner "Code aus der Datei mit dem Formular:" reinpacken und via "if(isset($_POST))" überprüfen und dann abschicken.
|
|
|
10/11/2013, 11:44
|
#3
|
elite*gold: 60
Join Date: Sep 2013
Posts: 1,427
Received Thanks: 248
|
Danke, geht nun
Ich glaube, dass ich nochmal Hilfe brauche:
Ich möchte die Einträge nun bearbeiten können:
Code:
<form action="includes/edit_l.php" method="POST">
<p>ID des Post's<br /><input type="text" name="id"><br /></p>
<p><input type="submit" value="Eintrag speichern"></p>
</form>
Code aus der edit_.php
Code:
<form method="POST" action="edit-send.php">
<?php
include("connect.php");
$id = $_POST;
$news_SQL = "SELECT * FROM tbl_eintrag_links WHERE eintrag_ID=$id";
$news_result = mysql_query($news_SQL);
if($news_result === FALSE) {
die(mysql_error());
}
while ($news = mysql_fetch_array($news_result)) {
echo "<p><h1>Überschrift</h1><br /><input type=\"text\" name=\"header\" value=\"" . $news['eintrag_header'] . "\</p><br />";
echo "<p><h1>Eintrag bearbeiten</h1><br /><textarea cols=\"50\" rows=\"8\" name=\"main\">" . $news['eintrag_main'] . "</textarea></p><br />";
echo "<p><span style='font-size: 12px; color:#3B3B3B;'> Post ID: " . $news['eintrag_ID'] . "</span></p><br />";
}
?>
<input type="submit" value="Eintrag bearbeiten">
</form>
Ich bekomme dort diese Meldung:
Code:
Notice: Array to string conversion in C:\xampp\htdocs\includes\edit_l.php on line 6
Unknown column 'Array' in 'where clause'
|
|
|
10/11/2013, 15:38
|
#4
|
elite*gold: 0
Join Date: Jul 2008
Posts: 1,826
Received Thanks: 226
|
Ersten müsste du in deinr edit_.php eine Fehlermeldung bekommen wenn du auf die Seite kommst da du nicht überprüft ob $_POST gesetzt ist. Hast du vorher nur meinen Code kopiert und nicht gelesen was ich geschrieben habe?
Logik an den Anfang einer Datei...
Ich lege dir ein Grundlagen Tutorial sehr nahe, allerdings liegt dein Fehler hier:
Wenn du mal ein var_dump($_POST); machst siehst du das dies ein Array ist, somit steht ein Array in $id drinnen. Du möchtest dann das "Array" in dein Mysql-Code einpacken was nicht geht, allerdings sagt dir das ja auch deine Fehlermeldung
Deswegen
Code:
$id = $_POST['id'];
Debugge deinen Code besser, am besten mit einem var_dump($variable);die(); dadurch siehst du was in den einzelnen Variablen steckt und kannst Fehler selber besser und schneller lösen.
Schau dir deine Code-Struktur an, Logik sollte wenn möglich an den Anfang der Datei und nicht zwischen den HTML-Code
Code:
<?php
[COLOR="Red"]require("connect.php");[/COLOR]
if(isset($_POST)){
[COLOR="Red"]$id = $_POST['id'];[/COLOR]
$news_SQL = "SELECT * FROM tbl_eintrag_links WHERE eintrag_ID=$id";
$news_result = mysql_query($news_SQL);
if($news_result === FALSE) {
die(mysql_error());
}
?>
<form method="POST" action="edit-send.php">
<?php
while ($news = mysql_fetch_array($news_result)) {
echo "<p><h1>Überschrift</h1><br /><input type=\"text\" name=\"header\" value=\"" . $news['eintrag_header'] . "\</p><br />";
echo "<p><h1>Eintrag bearbeiten</h1><br /><textarea cols=\"50\" rows=\"8\" name=\"main\">" . $news['eintrag_main'] . "</textarea></p><br />";
echo "<p><span style='font-size: 12px; color:#3B3B3B;'> Post ID: " . $news['eintrag_ID'] . "</span></p><br />";
}
?>
<input type="submit" value="Eintrag bearbeiten">
</form>
Habs mal ein bisschen verbessert / ausgebssert!
|
|
|
 |
Similar Threads
|
[Video]Maus macht komische Sachen | Makieren/ verschieben klappt nicht richtig.
08/03/2013 - Technical Support - 6 Replies
Hallo Leute :D
Ich habe ein Problem.
Und zwar klappt nach meiner Formatierung meine Maus nicht mehr richtig.
Fenster verschieben sich mit einer großen verzögerung.
Und beim Makieren von Texten wird ab und zu mal wieder neu angesetzt und hierbei wird auch immer mit verzögerung makiert.
Es ist echt stressig da man vorallendingen bei der Videobearbeitung nichts mehr makieren kann -_-
|
[C#] Environment.Exit klappt nicht richtig
09/07/2012 - .NET Languages - 0 Replies
Habe einen kleinen Server selber Programmiert (Console-Anwendung) , und er hat mehrere Klassen.
Am Anfang ruf ich eine Klasse auf welche auf Port 9001 etwas abhört.
Das klappt auch gut , nur reagiert der Server nicht auf Environment.Exit(0)
Warum ist das so ?
Liegts an mehreren Klassen bzw. MultiThreading?
Edit:
|
PM-System klappt nicht richtig
08/26/2012 - Off Topic - 1 Replies
Hey Com,
stimmt irgendwas mit der Nachrichtenfunktion nicht?
Manche Nachrichten kommen bei mir nicht an und meine Nachrichten werden oft nicht verschickt.
|
Entbuggen Klappt nit richtig
04/07/2010 - Metin2 Private Server - 4 Replies
Hi leute hab ne frage:
1.Hab de client von neonblue.und hab auch so wie sie beschreiben hat den dorfplatz wächter entbuggt.wenn ich ihn ingame anklicke passiert trotz dem nichts.und bei naicat steht bei on-click 0.des weiteren hab ich bei navicat seinen namen übersetzt und trotz dem immer noch nix.
2.Ich hab nach einem thema im forum versucht die quest zu entbuggen und das hat auch nit geklappt.Also ingame sind se noch dieses china zeug und bei fillezilla auf deutsch.
wenn mir wer...
|
captcha richtig anmeldetet klappt nicht hier ein bild
06/25/2009 - Metin2 Private Server - 1 Replies
hier das ist das bild das captcha ist richtig hier ist auch die lösung davon im anhang.
|
All times are GMT +1. The time now is 10:22.
|
|