mysql daten eingetragen?

Oldie_ PC

Neuling
Thread Starter
Mitglied seit
28.03.2002
Beiträge
44
hallo.

ich habe ein simples html formular erstellt über das per $_POST variablen daten in eine mysql datenbank eingetragen werden und wieder ausgegeben werden sollen. nur leider weis ich jetzt nicht, ob der fehler beim schreiben in die db oder beim lesen liegt. ich bekomme keine fehlermeldung, aber auch nicht die formularangaben angezeigt.



PHP:
/* open the boll database */
$bolldb_handle = mysql_connect($host,$username,$pw); 
   if (!$bolldb_handle)
{
    echo "<p class=\"error\">Couldn't connect to database</p>";
 } 
    $getbolldb = mysql_select_db($bolldb,$bolldb_handle);

/* write into database */
sind die parameter der mysql syntax denn richtig? fügt der mit "insert into", dem namen der tabelle, den einzelnen spaltenbezeichnungen und zum schluss den variablen aus dem html formular das auch in die datenbank ein?
PHP:
  $query = "insert into boll (ID,name,bollcomments,date) VALUES(".$comment_number."','".$text['name']."','".$text['bollcomments']."','".$text['date']."')";

$result = mysql_query($query,$bolldb_handle);
if (!$result) 
{
  $result = FALSE;
 }
  else {
          $result = mysql_affected_rows($bolldb_handle);
}
hier habe ich einfach nur die spalten angeben, die er aus der tabelle $bolltable entnehmen soll. die spaltennamen sind auf jeden fall richtig
PHP:
$query = "SELECT name, bollcomments, date from" .$bolltable. "where nummer=\".$comment_number.\"";
 $result = mysql_query ($query,$bolldb_handle); 
echo $result;
if ((!$result) OR (mysql_num_rows($result) == 0))
  {
   $getarray = FALSE;
}  
  else {
            $getarray = mysql_fetch_array($result);
}
echo $getarray['name'];
 echo $getarray['bollcomments'];

   echo  $getarray['date'];
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
mach mal
PHP:
error_reporting("E_ALL");
mit an den anfang des scripts

und guck mal im phpmyadmin falls du das hast ob die daten vorhanden sind damit wir schonmal eines einkreisen können was es sein könnte
btw dass muss doch
PHP:
$query = "insert into boll (ID,name,bollcomments,date) VALUES(".$comment_number."','".$_POST['name']."','".$_POST['bollcomments']."','".$_POST['date']."')";
heißen
oder frickelst du das irgendwo in den array $text um?
 
Zuletzt bearbeitet:
er gibt "undefined index" bei allen variablen aus. z. b.:
Notice: Undefined index: yourname in D:\apache\Apache2\htdocs\boll.php on line 131

die bezeichnungen stimmen aber mit denen oben aus dem html formular überein.

und ja, die daten werden zurest in das array $text geladen.
$text['name'] = $_POST['yourname']; - etcetera
 
Hast du vorhher mal
PHP:
$text = array();
gemacht?
 
ich habe das html formular in den php teil verschoben und nun kann er die variablen initialisieren. ausgeben tut er aber weiterhin keine db-inhalte. $text = array(); steht.

hier gibt es noch beschwerden:
"Notice: Use of undefined constant mysql_close - assumed 'mysql_close' "

der code:
PHP:
mysql_close($bolldb_handle);
 if (!mysql_close)  
     {
    echo "<p class=\"error\">Couldn't close the database</p>";
}
 
Zuletzt bearbeitet:
häö???? was ist das denn :d mach das doch gleich so:
PHP:
 if (!mysql_close($bolldb_handle))  
     {
    echo "<p class=\"error\">Couldn't close the database</p>";
}
 
ich war mir nicht sicher, ob ich erst schließen muss und dann die fehlerabfrage separat oder nicht.

jetzt bekomme ich wieder die "undefined index" meldungen. eben war dies wahrscheinlich nicht der fall, weil ich 'error_reporting' nicht an den anfang des scripts gesetzt habe. warum erkennt der die variablen nicht... formular und variablen sind zusammen in dem php script...
 
Zuletzt bearbeitet:
kannst evtl mal das komplette script posten?
 
viel mehr zeilen code sind das ja nicht.

hier das html formular mit den variablendeklarationen, was über den mysql anweisungen, am anfang des scripts, steht.

PHP:
ini_set('error_reporting',E_ALL); 
echo "<form action=\"bpage.php\" METHOD=\"POST\">
      Your Name:</br>
<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"10000\">
</input>
       <input type=\"text\" name=\"yourname\" value=\"\" size=\"40\"> 
</input></p>
          Comment:</br>
  <textarea NAME=\"bollcomments\" value=\"\" cols=\"40\" rows=\"10\">
</textarea></p>
        <input type=\"submit\" NAME=\"submit\" value=\"Post it\">
</input><br><br>
Want to Inform your Buddy? Enter Email Below:<br>
<input type=\"text\" size=\"40\" name=\"mail\">
</input><p><p>
 </form>";

  echo "</div>";
 echo "</div>";
/* initialising php form variables*/
$text = array();
 $text['name'] = $_POST['yourname'];
     $text['comments'] = $_POST['bollcomments'];
 
/* initialising database variables*/
$bolltable = "bdatabase";  
$bolldb = "bolldb";
$host = "localhost";
 $username = "root";  
       $thedate = date("y.m.d");
$comment_number = "ID";
 
kannst du mir nicht weiterhelfen, oder jemand anders vll?
 
sry hatte den post noch nit gesehen. Ich weiß nicht ob des das problem ist aber schreib mal method im form klein. sodass wir das ausschließen können.
und wofür ist das hier drinn? <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"10000\">
desweiteren hat textarea kein value also kann des auch weg.

input wiederum ist nur ein single element d.h. es gibt kein </input> es heißt einfach nur <input type="text" name="yourname" value="" />

ich mein der html code ist so unvailid da kann es schon sein des des nit geht

MfG
Alex
 
nun hab ich die variablendeklarationen unter

PHP:
if ($HTTP_POST_VARS['submit'])
 
  {

gesetzt. jetzt hat er sie erkannt. submit wurde weiterhin mit genannter fehlermeldung ausgegeben. das problem hat sich erledigt nachdem ich diese konstante zuerst mit isset(); überprüft habe.

das einzige was übrig bleibt ist folgendes:
"Notice: Use of undefined constant php - assumed 'php'"

das hat mit sicherheit aber nichts mit dem abschließenden php?> zu tun, sondern der fehler taucht zuvor irgendwo auf, woraus dann folgt, dass er das php?> nicht akzeptiert.
 
es heißt ?> und nicht php?> also das php muss weg
 
Man kann entweder
PHP:
<? ?>
ODER
PHP:
<?php php?>
nehmen. Geht beides!
 
?> anstatt php?> hilft.

wo muss ich denn in phpmyadmin nachschauen, um zu sehen, ob daten eingetragen wurden? keine fehlermeldunge mehr, aber gibt weiterhin keine angegeben texte aus.
 
@BoSS php?> gibt es echt nit ;) es heißt wirklich nur <?php ?> oder <? ?>
 
ich bekomm es in englischer sprache angezeigt. "browse" steht dort. das kann ich aber nicht anklicken.

ob es an der tabellenkonfiguration liegt? einmal habe ich die felder für namen und kommentar angelegt, als type text, dann das datum als type date und die ID, welche angehangen wird. das feld ID hat einen index wert. das ist doch dazu gut, um einen bestimmten beitrag herauszusuchen.
 
Wenn du es nicht anklicken kannst, dann sind da keine Daten drin.

@Nascar habe in meinem PHP Buch nochmal geschaut, hast recht!

Btw: Mir ist bei einer Query was aufgefallen:

PHP:
$query = "insert into boll (ID,name,bollcomments,date) VALUES(".$comment_number."','".$text['name']."','".$text['bollcomments']."','".$text['date']."')";

Nach "VALUES(" fehlt glaube ich ein '
 
zwischen dem ( und " habich ein ' hingesetzt:

VALUES('".

das war's dann auch schon. ;)

anstatt die variablen anzugeben wollte ich es mal versuchen in dem ich bei VALUES einfache strings angebe. die trägt er aber auch nicht ein.

sonst habt ihr keine ideen woran es liegen könnte?
 
Zuletzt bearbeitet:
versuch doch mal einfach in phpmyadmin in der sql abfrage den befehl einzugeben, dann siehst du zumindest obs an der tabelle liegt
 
Wer lesen kann ist klar im Vorteil, das Problem wurde am 26.02 gelöst. Heute ist der 10.03. :d
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh