Datum Zeit
Shoutbox
Gästen ist das Schreiben von Mitteilungen nicht erlaubt.


emblinux  Offline
16.05.2012 19:12
Da scheint es ein Problem mit dem Cronjob zu geben. Muss ich auch erst mal nachhaken.

VIP-phiL  Offline
Verwarnstatus: warningwarningwarningwarning
16.05.2012 16:38
Heyho, derzeit gibt es keine Lotto Ziehungen, darf man fragen aus welchen Gründen? Lg. phil

valhalla  Offline
Verwarnstatus: warningwarningwarningwarning
15.05.2012 13:38
Dickeslachen

Septron  Online
15.05.2012 11:13
irgendwie nisch Shock

MarcusG  Offline
14.05.2012 16:37
Nix los hier? Frown

Ähnliche Themen
Thema Forum Antworten Letzter Beitrag
Mybuddysystem [Anfragen] nicht richtig angezeigt Infusionen 1 02. April 2012 10:22:11
fast_pm lässt sich nicht Installieren Infusionen 1 25. März 2012 20:37:02
Smileys werden nicht in der Shoutbox angezeigt Infusionen 17 24. Januar 2012 15:15:02
Scoresystem funktioniert nicht Allgemeine Support Fragen 6 22. Januar 2012 13:15:58
Mail Funktion konnte nicht initialisiert werden. Allgemeine Support Fragen 6 01. Januar 2012 16:46:26
Thread ansehen
Wer ist hier? 2 Gäste
 Drucke Thread
[gelöst] Eintragen in die DB funktioniert nicht
Columbo
#1 Drucke Post
Geschrieben am 06. Dezember 2010 12:28:41
Stammgast


Posts: 91
Registriert seit: 25.10.10

Fortgeschrittener
Nächstes Level: 92/100

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
Hallo Leute!

Ich wollte mit Hilfe eines Tutorials (http://www.phpbox.de/php_tutorials/mysql1.php) ausprobieren, etwas in die DB mit einer Seite zu schreiben...

1) Das Erstellen der Datenbank Tabellen hat funktioniert
2) Das Eintragen eines Datensatzes hat leider nicht funktioniert

Code der Seite zum Eintragen (insert.php):
Code
<?php
//require_once "../maincore.php";
//require_once THEMES."templates/header.php";
?>

<!-insert.php->

<html>

<body>

<?PHP


if ($button==" OK ") {

 include("db.php");

 /*
 // Original vom Tutorial
 mysql_query("INSERT INTO

 cds(titel,interpret)VALUES('$titel','$interpret')");

 mysql_close();
 */
 
 
 // verändert
 mysql_query( "INSERT INTO `cds` (interpret ,titel) VALUES('$titel','$interpret')");
 ?>

 

 Die Daten wurden eingetragen<br>

<a href="insert.php">neuer Eintrag</a><br>

<a href="fetcharr.php">zur Übersicht</a>


 <?PHP

} else { ?>

 <form method="post" action="insert.php">

 <input type="text" name="interpret" value="interpret"><br>

 <input type="text" name="titel" value="titel"><br>

 <input type="submit" name="button" value=" OK ">

 </form>

 <?PHP

} ?>

</body>

</html>
<?php
//require_once THEMES."templates/footer.php";
?>




3) Das Auslesen der Datensätze würde funktionieren, wenn das Eintragen funktionieren würde (ich weiß, dass das auslesen funktionieren wird, weil ich einen Datensatz über die DB eingetragen habe, und das Auslesen funktioniert hat)

4) Löschen und bearbeiten funktioniert nicht (ist aber nicht so tragisch).

Erkennt jemand in der insert.php einen Fehler?

Wäre euch sehr dankbar über Hilfe!

Einen schönen Tag noch und liebe Grüße,
Columbo =)

PS:
http://www.columb...insert.php (insert.php)
 top
emblinux
#2 Drucke Post
Geschrieben am 06. Dezember 2010 13:01:09
User Avatar




Posts: 3709
Registriert seit: 04.10.08

Meister
Nächstes Level: 3732/5000

Scores: gesperrt
Abgesehen, das der komplette Aufbau dieser Datei nichts timmt, musst du natürlich darauf achten, das du auch die Daten, die per FOrmular per GET oder POST gesendet werden, richtig ausliest.

Heutzutage ist bei den meisten Server die Eistellung register_globals auf OFF gestellt, aus Sicherheitsgründen. Somit ergibt sich für das Auslesen, des Buttons nicht $button sondern $_POST['button'].

Schau dir einfach mal eine andere Datei an, die ähnliche Funktionalität aufweist.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif
 top
http://www.fusion-ng.de
Columbo
#3 Drucke Post
Geschrieben am 06. Dezember 2010 13:13:57
Stammgast


Posts: 91
Registriert seit: 25.10.10

Fortgeschrittener
Nächstes Level: 92/100

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
Danke emblinux!!! happy

Jetzt funktioniert das Absenden, danke!
Aber leider werden nur 2 leere Felder (auch bei Eingabe) abgesendet Sad

Und beim Auslesen steht dann natürlich auch alles leer:
http://www.columb...tcharr.php

Auf jeden Fall mal danke, schönen Tag noch und liebe Grüße,
Columbo happy
 top
emblinux
#4 Drucke Post
Geschrieben am 06. Dezember 2010 13:21:37
User Avatar




Posts: 3709
Registriert seit: 04.10.08

Meister
Nächstes Level: 3732/5000

Scores: gesperrt
Hast du denn die anderen beiden Felder für die Eingabe auch entsprechend verwendet ? Also $_POST['title'] und $_POST['interpret'] ? Dann sollte alles richtig funktionieren.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif
 top
http://www.fusion-ng.de
Columbo
#5 Drucke Post
Geschrieben am 06. Dezember 2010 13:26:24
Stammgast


Posts: 91
Registriert seit: 25.10.10

Fortgeschrittener
Nächstes Level: 92/100

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
Zählt das auch zu register_global?

Wo müsste ich dann $_POST['title'] und $_POST['interpret'] einfügen? Ist ein HTML-Zeug drin, wie müsste ich es dann auf PHP abändern?
Code
<form method="post" action="insert.php">

 <input type="text" name="interpret" value="interpret"><br>

 <input type="text" name="titel" value="titel"><br>

 <input type="submit" name="button" value=" OK ">

 </form>




Nochmals vielen Dank! =)
 top
emblinux
#6 Drucke Post
Geschrieben am 06. Dezember 2010 13:31:04
User Avatar




Posts: 3709
Registriert seit: 04.10.08

Meister
Nächstes Level: 3732/5000

Scores: gesperrt
REGISTER_GLOBALS bezieht sich auf alle Variablen, die per Formular oder auch per LINK gesendet werden.

$_POST['title'] und $_POST['interpret'] musst du dort einsetzen, wo du lesend auf diese Variablen zugreifen möchtest. Also nicht da, wo das Formular ist, sondern dort wo du diese Variablen verwendest.

Ich sehe dir fehlen noch grundlegende Kenntnisse. Bitte beschäftige dich mal eingehen mit HTML-Formularen und Co. Dazu habe ich bei den Weblinks auch einen passenden Link gepostet, der grundlegende Dinge im Umgang mit PHP, Formularen und Datenbanken erklärt.

Denn es macht wenig Sinn, Codeschnipsel zu verwenden, wenn man nicht wirklich weiß, was genau diese bewirken.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif
 top
http://www.fusion-ng.de
Columbo
#7 Drucke Post
Geschrieben am 06. Dezember 2010 13:41:43
Stammgast


Posts: 91
Registriert seit: 25.10.10

Fortgeschrittener
Nächstes Level: 92/100

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
:(

Meinst du das hier?
Code
<td><?PHP echo $_POST['interpret'];?></td>

 <td><?PHP echo $_POST['title'];?></td>




Jetzt so hatte ich bei 1 mal Daten absenden ungefähr 70 Einträge...

Mit dem hier habe ich es auch schon versucht:
http://www.phpfus...link_id=23

Kam aber auch nichts dabei raus...:(
 top
emblinux
#8 Drucke Post
Geschrieben am 06. Dezember 2010 14:06:30
User Avatar




Posts: 3709
Registriert seit: 04.10.08

Meister
Nächstes Level: 3732/5000

Scores: gesperrt
Genau diesen Weblink meinte ich. Dieser ist sehr gut, nur muss man sich dafür etwas Zeit nehmen, damit man auch alles versteht.

Eigentlich muß deine PHP-Datei wie folgt aussehen:

Code
<?php
include("db.php");

if ( isset($_POST('button')) && $_POST('button') =="Speichern")
  {
     $titel = $_POST['titel'];
     $interpret = $_POST['interpret'];
     $result = mysql_query( "INSERT INTO cds (interpret ,titel) VALUES('".$titel."','".$interpret."')");
    if ( $result )
      {
        echo "Die Daten wurden eingetragen <br />";
       }
    else
      {
        echo "Es sit ein Fehler aufgetreten.<br />";
       }
   echo '<a href="insert.php">neuer Eintrag</a><br /><a href="fetcharr.php">zur Übersicht</a>';
  }
else
  {
    echo '<form method="post" action="insert.php">
            Interpret: <input type="text" name="interpret" value="interpret"><br />
            Titel: <input type="text" name="titel" value="titel"><br />
            <input type="submit" name="button" value="Speichern">
            </form>';
  }

?>




Das sollte eigentlich funktionieren.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif
 top
http://www.fusion-ng.de
Columbo
#9 Drucke Post
Geschrieben am 06. Dezember 2010 14:25:14
Stammgast


Posts: 91
Registriert seit: 25.10.10

Fortgeschrittener
Nächstes Level: 92/100

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
Danke emblinux! :)

Gibt aber leider noch einen Fehler in Zeile 4:
Fatal error: Can't use function return value in write context in /users/columbo/www/insert.php on line 4

GeSHi: PHP
  1.  
  2.  
  3.  
  4. if ( isset($_POST('button')) && $_POST('button') =="Speichern")
gewandelt in 0.370 Sekunden, benutzt wurde GeSHi 1.0.8.9

http://www.columb...insert.php
 top
emblinux
#10 Drucke Post
Geschrieben am 06. Dezember 2010 14:32:08
User Avatar




Posts: 3709
Registriert seit: 04.10.08

Meister
Nächstes Level: 3732/5000

Scores: gesperrt
ups, hab ich mich doch glatt vertippt. Da hättest du aber auch selbst drauf kommen können oder ? ;)

Die Zeile muss natürlich so lauten:

Code
if ( isset($_POST['button']) && $_POST['button'] =="Speichern" )



Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif
 top
http://www.fusion-ng.de
Columbo
#11 Drucke Post
Geschrieben am 06. Dezember 2010 14:45:35
Stammgast


Posts: 91
Registriert seit: 25.10.10

Fortgeschrittener
Nächstes Level: 92/100

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
ups, hab ich mich doch glatt vertippt. Da hättest du aber auch selbst drauf kommen können oder ? ;)

Oh, die ( ) gegen [ ] austauschen - ich sollte mehr auf die Klammern achten :P

Danke eintragen und auslesen funktioniert jetzt!!! DANKE!!! =)=)

Ähm... jetzt wäre nur noch das Problem mit dem editieren und löschen ... ;)

an der delete.php habe ich schon etwas rumgebastelt, doch dies hat dann doch nicht ganz funktioniert - also hab ichs wieder rückgängig gemacht...

Update.php (Editieren):
Code
<!-update.php->

<html>

<body>

<?PHP include("db.php");

if ($_POST['button']==" OK ") {

 mysql_query("UPDATE cds SET interpret='$interpret',  titel='$titel' WHERE id='$id'");

 mysql_close();

 ?>

 Die Daten wurden eingetragen<br>

 <a href="fetcharr.php">zur Übersicht</a>

<? } else {

 $query = "SELECT * FROM cds WHERE id='$id'";

 $result = mysql_query($query);
 $line = mysql_fetch_array($result)

 ?>

 <form method="post" action="update.php?id=<?PHP echo $id; ?>">
 <input type="text" name="interpret" value="<?PHP echo $line[interpret]; ?>"><br>

 <input type="text" name="titel" value="<?PHP echo

$line[titel]; ?>"><br>

 <input type="submit" name="button" value=" OK ">

 </form>

<? } ?>

</body>

</html>




* $button hab ich schon mal auf $_POST['button'] geändert ;)

Delete.php (Löschen):
Code
<!-delete.php->

<html>

<body>

<?php include ("db.php");

// originales aus dem Tutorial
//mysql_query("DELETE FROM cds WHERE id='$id'");
mysql_query("DELETE FROM `cds` WHERE `cds`.`id` = '$id' LIMIT 1");

mysql_close();

?>

 

Die Daten wurden gelöscht<br>

<a href="fetcharr.php">zur Übersicht</a>

<body>

<html>




LG Columbo
Und danke an emblinux=)
Editiert von Columbo am 06. Dezember 2010 14:46:09
 top
emblinux
#12 Drucke Post
Geschrieben am 06. Dezember 2010 14:58:12
User Avatar




Posts: 3709
Registriert seit: 04.10.08

Meister
Nächstes Level: 3732/5000

Scores: gesperrt
update.php

Code
<?php
include("db.php");

if ( isset($_POST['button']) && $_POST['button']=="Speichern" && isset($_GET['id']) )
  {
    $interpret = $_POST['interpret'];
    $titel = $_POST['interpret'];
    $id = $_GET['id'];
    $result = mysql_query("UPDATE cds SET interpret='".$interpret."',  titel='".$titel."' WHERE id='".$id."'");
    if ( $result ) echo "Speichern war erfolgreich.<br />";
    else echo "Fehler beim Speichern.<br />";
    mysql_close();
    echo '<a href="fetcharr.php">zur Übersicht</a>';
  }
else
  {
   $id = $_GET['id'];
   $query = "SELECT * FROM cds WHERE id='$id'";
   $result = mysql_query($query);
   $data = mysql_fetch_array($result);

   echo '<form method="post" action="update.php?id='.$data['id'].'">
           <input type="text" name="interpret" value="'.$data[interpret].'"><br />
           <input type="text" name="titel" value="'.$data[titel].'"><br />
           <input type="submit" name="button" value="Speichern">
           </form>';

  }
?>




Die delete.php solltest du jetzt aber alleine hinbekommen.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif
 top
http://www.fusion-ng.de
Columbo
#13 Drucke Post
Geschrieben am 06. Dezember 2010 15:07:25
Stammgast


Posts: 91
Registriert seit: 25.10.10

Fortgeschrittener
Nächstes Level: 92/100

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
Gibt da aber leider noch etwas in der update.php ...
Wenn man ein Feld ändert, wird das andere auch geändert, und zwar auf den gleichen Namen.

http://www.columb...tcharr.php

 top
emblinux
#14 Drucke Post
Geschrieben am 06. Dezember 2010 15:12:20
User Avatar




Posts: 3709
Registriert seit: 04.10.08

Meister
Nächstes Level: 3732/5000

Scores: gesperrt
Ahja, ein typische Copy&Paste-Fehler.

ändere einfach die Zeile
Code
$titel = $_POST['interpret'];


um in
Code
 $titel = $_POST['titel'];




Auch das hätest du beim genaueren hinsehen doch selbst feststellen können oder ? *macho*
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif
 top
http://www.fusion-ng.de
Columbo
#15 Drucke Post
Geschrieben am 06. Dezember 2010 15:21:43
Stammgast


Posts: 91
Registriert seit: 25.10.10

Fortgeschrittener
Nächstes Level: 92/100

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
*dau*

In der delete.php habe ich Zeile 12 geändert und 11 auskommentiert, ist aber noch ein Fehler drin...

Code
<!-delete.php->

<html>

<body>

<?php include ("db.php");

// originales aus dem Tutorial
//mysql_query("DELETE FROM cds WHERE id='$id'");
// mysql_query("DELETE FROM cds WHERE `id` = '$id'");
mysql_query("DELETE FROM cds WHERE interpret='".$interpret."',  titel='".$titel."' WHERE id='".$id."'");

mysql_close();

?>

 

Die Daten wurden gelöscht<br>

<a href="fetcharr.php">zur Übersicht</a>

<body>

<html>


 top
emblinux
#16 Drucke Post
Geschrieben am 06. Dezember 2010 15:26:17
User Avatar




Posts: 3709
Registriert seit: 04.10.08

Meister
Nächstes Level: 3732/5000

Scores: gesperrt
Code
$id = $_GET['id'];
mysql_query("DELETE FROM cds WHERE `id` = '$id'");





Nur weil heute Nikolaus ist. ;)

Und bitte schau dir den Weblink, den ich die empfohlen habe, mal etwas genauer an und versuche auch die Sachen zu verstehen. Solche Dinge werden dir öfter vor die Füße fallen, wenn du Webseiten entwickelst.
Das Lernen ist wie ein Meer ohne Ufer. Konfuzius

Alles wird Gut!

KEIN Support per Mail, ICQ oder PN !
www.heiseclan.de/fusion/sig.gif
 top
http://www.fusion-ng.de
Columbo
#17 Drucke Post
Geschrieben am 06. Dezember 2010 15:32:57
Stammgast


Posts: 91
Registriert seit: 25.10.10

Fortgeschrittener
Nächstes Level: 92/100

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
Danke!!! happyhappyhappy

Funktioniert jetzt alles - ich hätte das nicht alleine hinbekommen.
Danke!!

*emblinux ein Abzeichen geb Dickeslachen columbo.bplaced.net/award_star_gold_1.png*

Wünsche noch einen schönen Nikolaus happy
 top
Columbo
#18 Drucke Post
Geschrieben am 14. Dezember 2010 14:12:14
Stammgast


Posts: 91
Registriert seit: 25.10.10

Fortgeschrittener
Nächstes Level: 92/100

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
Hallo,

da wäre noch etwas:
Wie macht man ein mehrzeiliges Eingabefeld?
Mit textarea habe ich es schon probiert in der Eingabeseite aber leider funktioniert es damit nicht Sad

Hat wer eine Idee?
 top
MarcusG
#19 Drucke Post
Geschrieben am 14. Dezember 2010 14:45:08
User Avatar




Posts: 2944
Registriert seit: 21.01.09

Meister
Nächstes Level: 2951/5000

Scores: gesperrt
Ein mehrzeiliges Texteingabefeld ist die Google Search textarea, was anderes gibts da nicht.
Gruß Marcus

Support per Mail, PN, ICQ oder MSN ist kostenpflichtig!
if ($ahnung == 'keine' ) { use ( FAQ ) && ( Google | | Suche ) }
if ($antwort == 0 ) { post ( Frage ) }
 top
http://phpfusion.marcusg.de
Columbo
#20 Drucke Post
Geschrieben am 14. Dezember 2010 15:04:10
Stammgast


Posts: 91
Registriert seit: 25.10.10

Fortgeschrittener
Nächstes Level: 92/100

Scores: gesperrt

Verwarnstatus: warningwarningwarningwarning
funktioniert aber leider nicht einzubauen

*Edit: Habs selbst hingekriegt
Editiert von Columbo am 14. Dezember 2010 16:01:13
 top
Springe ins Forum: