Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 10:22

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Insert klappt nicht richtig

Discussion on Insert klappt nicht richtig within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1

 
~ JWonderpig ~'s Avatar
 
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.
~ JWonderpig ~ is offline  
Old 10/11/2013, 08:55   #2
 
mhaendler's Avatar
 
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.
mhaendler is offline  
Thanks
1 User
Old 10/11/2013, 11:44   #3

 
~ JWonderpig ~'s Avatar
 
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'
~ JWonderpig ~ is offline  
Old 10/11/2013, 15:38   #4
 
mhaendler's Avatar
 
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:
Code:
$id = $_POST;
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!
mhaendler is offline  
Thanks
1 User
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.