[GastForen Programmierung/Entwicklung PHP und MySQL Problemm INSERT INTO

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Problemm INSERT INTO

flashcast
Beiträge gesamt: 32

12. Dez 2006, 12:00
Beitrag # 1 von 8
Bewertung:
(2399 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Liebe Profi,


ich mache meine erste Schritte , versuche durch INSERT INTO. meine Daten Bank mit meinem Formular zu verbinden.

folgendes Formular habe ich erstellt: es sind nur Zwei Felder
--------------------------------------------------------
<html>

<head>
<title></title>
</head>
<body>
<form action= "insert.php" method="post" >
Titel: <input type = "text" name ="titel"/>
<br/><br/>
Datum: <input type="text" name="datum"/>
<br>
</br>
<input name="submit" type="submit" value="Absenden">
<form>

</body>
</html>

--------------------------------------------------------------------------

mit dem PHP Befehl wird das alles berarbeitet:

file: insert.php

<?php
include ('mysqlkontakt.php');

if ( ! mysql_select_db ("buecher") )

{
echo "Konnte keine Datenbank ausw&auml;hlen:". mysql_error();
die;
}



$titel = $_GET["titel"];
$datum = $_GET["datum"];


$eintrag = "INSERT INTO Buch (titel, datum)


VALUES ('$_GET["titel"]', '$_GET["datum"]')"

Eintragen = mysql_query ($eintrag);



?>
-----------------------------------------------------------------

include ('mysqlkontakt.php'); es ist meine Verbindung mit der Datenbank auf meinem PC (localhost).

Was mache ich den falsch.

Vielen Dank voraus

P.S sorry für mein Deutsch. halt nicht deutscher!!:))
X

Problemm INSERT INTO

swisscheese
Beiträge gesamt: 387

12. Dez 2006, 12:48
Beitrag # 2 von 8
Beitrag ID: #266547
Bewertung:
(2391 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Salü flashcast

Das Formular sendest du mit method="post" ab. Dann kannst du die Felder nicht in der $_GET, sondern eben in der $_POST Variablen erwarten.

Demnach:
Code
$eintrag ="INSERT INTO Buch (titel, datum)  
VALUES ('$_POST["titel"]', '$_POST["datum"]')";


Oder :
Code
$eintrag ="INSERT INTO Buch  
SET titel='".$_POST['titel']."', ".
datum='".$_POST['titel']."'";


Gruss swisscheese


als Antwort auf: [#266540]
(Dieser Beitrag wurde von swisscheese am 12. Dez 2006, 12:48 geändert)

Problemm INSERT INTO

Bitfilme
Beiträge gesamt: 264

12. Dez 2006, 13:05
Beitrag # 3 von 8
Beitrag ID: #266553
Bewertung:
(2380 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo flashcast

Ich sehe mal Drei Sachen auf einem Blick!
Teil 1:
Code
$titel = $_GET["titel"]; ? 
$datum = $_GET["datum"]; ?


Müsste doch Post heissen
Code
$titel = $_POST['titel'];  
$datum = $_POST['datum'];

Die Variablen sind ja mit Post übergeben worden.

Teil 2:
Code
$eintrag = "INSERT INTO Buch (titel, datum)  


VALUES ('$_GET["titel"]', '$_GET["datum"]')"


Das muss so sein:
Code
$eintrag = "INSERT INTO Buch (titel, datum) ". 
"VALUES ('".$_POST['titel']."', '".$_POST['datum']."')";


Teil 3:
Code
Eintragen = mysql_query ($eintrag); 


Das so:
Code
$Eintragen = mysql_query ($eintrag); 



als Antwort auf: [#266540]

Problemm INSERT INTO

flashcast
Beiträge gesamt: 32

12. Dez 2006, 13:43
Beitrag # 4 von 8
Beitrag ID: #266564
Bewertung:
(2368 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank,

klappt fast alles, nun wird kein Fehler beim PHP Code angezeigt.

Wird aber auch nicht gesendet.:( es ist so: sobald ich den Document speiche, werden die Daten mit 00000 übertragen.

Könnte es fehler beim Formular sein, vielleicht klappt da was nicht!

Danke

noch mal: <head>
<title></title>
</head>
<body>
<form action= "insert.php" method="post" >
Titel: <input type = "text" name ="titel"/>
<br/><br/>
Datum: <input type="text" name="datum"/>
<br>
</br>
<input name="submit" type="submit" value="Absenden">
</form>

</body>
</html>


als Antwort auf: [#266553]

Problemm INSERT INTO

Bitfilme
Beiträge gesamt: 264

12. Dez 2006, 14:33
Beitrag # 5 von 8
Beitrag ID: #266580
Bewertung:
(2358 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Versuch mal das Formular so:
Code
<?xml version='1.0' encoding='UTF-8'?>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="de" lang="de" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</title>
</head>
<body>
<form action="insert.php" method="post">
Titel: <input type="text" name ="titel"/>
<br/><br/>
Datum: <input type="text" name="datum"/>
<br/>
<br/>
<input name="submit" type="submit" value="Absenden"/>
</form>
</body>
</html>



als Antwort auf: [#266564]

Problemm INSERT INTO

flashcast
Beiträge gesamt: 32

13. Dez 2006, 11:09
Beitrag # 6 von 8
Beitrag ID: #266691
Bewertung:
(2322 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo vielen Dank an alle,

folgendes habe ich nun zusammengefaßt:

<?php
include ('mysqlkontakt.php');

if (! $link )
{
echo "konnte keine Verbindung aufbauen";

die;
}


if ( ! mysql_select_db ("bucher") )

{
echo "Konnte keine Datenbank ausw&auml;hlen:". mysql_error();
die;
}


if ( isset($_POST["titel"]))
{
$titel=$_POST["titel"];
} else {
$titel="";
}

$datum=$_POST["datum"];



$eintrag = "INSERT INTO buecher (titel, datum),
VALUES ('".$_POST['titel']."', '".$_POST['datum']."')";

$eintragen = mysql_query ($eintrag);

echo $eintrag;

?>


also, es funktioniert, überträgt aber nur den Titel in die Datenbank und nur ein Mal. weitere Einträge kommen nicht in die Datenbank.

Ich bin mit der Datenbank über Socket verbunden,

bzw: $link = mysql_connect(':/Applications/MAMP/tmp/mysql/mysql.sock', 'root', 'root');

liegt dies daran? weil so $link = mysql_connect('localhost:8889', 'root', 'root');

geht nicht frag mich selber wieso !!


als Antwort auf: [#266580]

Problemm INSERT INTO

Bitfilme
Beiträge gesamt: 264

13. Dez 2006, 12:24
Beitrag # 7 von 8
Beitrag ID: #266711
Bewertung:
(2314 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ein kleiner Ausschnitt und denkanstoss:

Willkommen bei MAMP
Wenn Sie diese Seite sehen können, wurde bei Ihnen MAMP korrekt installiert!

Um die PHP Konfiguration zu sehen können Sie phpinfo benutzen.

Hier können Sie Turck MMCache steuern.

Die MySQL Datenbank können Sie mit phpMyAdmin administrieren.

Um auf den MySQL Server von Ihren eigenen Scripten zuzugreifen müssen Sie folgende Verbindungsparameter benutzen:

Host: 127.0.0.1
Port: 8889
Benutzer: root
Kennwort: root

Beispiel:

$link = mysql_connect('127.0.0.1:8889', 'root', 'root');

oder Sie können eine Verbindung per UNIX Socket herstellen:

Socket: /Applications/MAMP/tmp/mysql/mysql.sock
Benutzer: root
Kennwort: root

Beispiel:

$link = mysql_connect(':/Applications/MAMP/tmp/mysql/mysql.sock', 'root', 'root');

Viel Spaß mit MAMP wünscht Ihnen,

Ihr MAMP-Team


als Antwort auf: [#266691]

Problemm INSERT INTO

flashcast
Beiträge gesamt: 32

15. Dez 2006, 13:00
Beitrag # 8 von 8
Beitrag ID: #267152
Bewertung:
(2286 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

vielen dank hat alles geklappt, ich bin allen Dankbar!!!


als Antwort auf: [#266711]
X