Variabeln werden nicht übergeben...

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Variabeln werden nicht übergeben...

    Hallöchen...

    Hab da ein kleines Problem...

    es handelt dich um ein Chat-Gaestebuch wo die user unternander sich in den Profilen Texte hinterlassen können (für mehrere Profile gedacht), nur klappt es nicht so wirklich...

    Die Variabel Messa wird nicht übergeben und somit nicht in der SQL-Tabelle gespeichert... find einfach den fehler nicht...

    vielleicht könnt ihr mir dabei helfen...

    ....

    log.php

    Quellcode

    1. <?
    2. $myhost="localhost";
    3. $mydb="buch";
    4. $myuser="buch";
    5. $mypassword="123456";
    6. mysql_connect("$myhost","$myuser","$mypassword")or die
    7. ("Keine Verbindung moeglich");
    8. mysql_select_db("$mydb")or die ("Die Datenbank existiert nicht");
    9. ?>


    MySQL

    Quellcode

    1. --
    2. -- Tabellenstruktur für Tabelle `icc_gb`
    3. --
    4. CREATE TABLE `icc_gb` (
    5. `uid` int(11) NOT NULL auto_increment,
    6. `an` longtext collate latin1_general_ci,
    7. `von` longtext collate latin1_general_ci,
    8. `datum` text collate latin1_general_ci NOT NULL,
    9. `uhrzeit` text collate latin1_general_ci NOT NULL,
    10. `messa` longtext collate latin1_general_ci NOT NULL,
    11. PRIMARY KEY (`uid`)
    12. ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci PACK_KEYS=1 AUTO_INCREMENT=5 ;
    Alles anzeigen


    wäre euch sehr dankbar...

    Greets
    Toxic
  • "mycros" schrieb:

    Willst du die Variable messa nicht übergeben? Oder was willst du denn erreichen?
    Wann bzw. Wo soll denn die Variable Messa übergeben werden?



    doch, die variabel Messa soll in die SQL tabelle gespeichert werden (der User (das die tabelle für den user gefunden wird und der Nick vom Schreiber sowie den Text den der User geschrieben hat mit Timestamp))... und dies Klappt bei mir nicht, das die Variabel Messe in der SQL-Tabelle gespeichert wird...

    sieht man schon an der

    Quellcode

    1. $eintrag = "INSERT INTO icc_gb (an, von, datum, uhrzeit, messa) VALUES ('$an','$von','$datum','$uhrzeit','$messa')";


    so sehen dann die einträge in der SQL Tabelle aus, wenn es klappen würde...

    INSERT INTO `icc_gb` VALUES (1, 'Tristar', 'hallo', '30.11.2006', '14:39', '');
    INSERT INTO `icc_gb` VALUES (2, 'Tristar', 'hallozurück', '30.11.2006', '14:41', '');


    aber er speichert es nicht, da die Variabel $messa nicht übergeben wird oder Funktioniert...

    greets
    Toxic
  • Klappt auch nicht, bekomm ja auch die meldung...

    Notice: Undefined variable: messa in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 4

    und das einzigste was er jetzt gespeichert hat ist

    von action="gb.php?nick=tristar&user=tristar&acti=delet&uid=1&messa=$row->messa; ?>"

    Das sieht so aus als wenn die session $messa garnicht gestartet wird, so das er was schreiben kann... nur da ich anfänger bin, weiß ich nicht wie ich die session $messa (besser gesagt, das sie defieniert ist) starten soll, das er die variabeln in $messa schreiben kann um diese in der SQL tabelle zu speichern...

    im gästebuch sieht es dann folgendermaßen aus wenn es klappen würde...

    Gästebuch von tristar
    von Toxic geschrieben am 30.11.2006 14:39
    hallo

    greets
    Toxic
  • "eLKane" schrieb:

    Wenn du eine Variable über die URL weitergibst, dann musst du auf $_GET['variable'] benutzen...siehe register_globals

    [1] http://de.php.net/register_globals


    Sorry, komm nicht wirklich weiter was ich da machen muss... Sorry...

    bekomm die meldung bei

    Quellcode

    1. error_reporting(E_ALL);
    2. mysql_error();
    3. var_dump($messa);
    4. $messa =$_GET['messa'];
    5. $nick = $_GET['nick'];
    6. $user = $_GET['user'];
    7. $acti = $_GET['acti'];
    8. if ($messa) { // kann vom User mit get/post/cookies übermittelt werden
    9. $good_login = 1;
    10. }
    11. if ($good_login == 1) { // kann vom User mit get/post/cookies übermittelt werden
    12. }
    13. if ($acti == "save") {
    14. include "log.php";
    15. $von = $nick;
    Alles anzeigen


    Notice: Undefined variable: messa in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 4
    NULL
    Notice: Undefined index: messa in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 5

    Notice: Undefined variable: good_login in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 12


    wie schon erwähnt funktioniert es nicht das $messa die Daten in der SQL Tabelle ablegt...
  • Notice: Undefined variable: messa in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 4
    NULL

    Der Fehler ist simpel. Die Warnung erhältst du weil die messain Zeile 4 ausgeben willst, in Zeile 5 aber erst zuordnest.
    Das NULL erhältst du eben weil messa noch leer ist.

    Notice: Undefined index: messa in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 5

    Den Fehler erhältst du, wenn du gb.php?user=toxic&nick=plankton eben ohne messa aufrust. Du versuchst auf über einen nicht existierenden Index zuzugreifen

    Notice: Undefined variable: good_login in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 12

    Die Warnung erscheint, weil du, wenn die vorherige if Bedinung nicht greift, keine Variable $good_login hast.
    Lösung: ergänze ein else $good_login = 0 in Zeile 10
  • gut, soweit hab ich das verstanden... jetzt meine frage, weißt du wie ich die Variabel $messa zum abspeichern bekomme so das sie in der SQL-Tabelle kommt??? denn bei den Befehl von mycros macht er nur oben in der adressleiste "
    http://127.0.0.1/gb/gb.php?nick=toxic&user=tristar&acti=delet&uid=<br /><b>Notice</b>: Trying to get property of non-object in <b>D:\Programme\webserver\xampp\htdocs\gb\gb.php</b> on line <b>87</b><br />&messa=<br /><b>Notice</b>: Trying to get property of non-object in <b>D:\Programme\webserver\xampp\htdocs\gb\gb.php</b> on line <b>87</b><br />" "Notice: Trying to get property of non-object in D:\\Programme\\webserver\\xampp\\htdocs\\gb\\gb.php on line 87" aber speichert nichts in der SQL-Tabelle...

    Denn das ist der Befehl

    Quellcode

    1. <tr class="row2"><td><form enctype="multipart/form-data" action="gb.php?acti=save&nick=<? echo $nick; ?>&user=<? echo $user; ?>" method="post">
    2. <div align="center">
    3. <br><textarea name="userpro" cols="50" rows="7"></textarea>
    4. <br>
    5. <input type="submit" value="Speichern">


    der aber leer scheint, so das nichts abzuspeichern geht und somit nichts in der Tabelle kommt...

    Denn die frage bleibt, wie bekomm ich die Varuabel $messa aktiviert, so das er dies in der SQL-Tabelle speichert...

    Greets
    toxic
  • Du solltest mal die ganzen GET Variablen auf POST variablen umstellen

    Quellcode

    1. <form enctype="multipart/form-data" action="gb.php" method="post">
    2. <input type="hidden" name="nick" value="<? echo $nick; ?>" />
    3. <input type="hidden" name="user" value="<? echo $user; ?>" />
    4. <input type="hidden" name="acti" value="delet" />
    5. <input type="hidden" name="uid" value="<? echo $row->uid; ?>" />
    6. <div align="center">
    7. <input type="submit" value="Löschen">
    8. </div>
    9. </form>


    und poste dann mal die geparste Ausgabe dieses Codes.
  • also ich bin hingegangen und hab diesen code ersetzt, wo ich dann garnichts mehr eingeben konnte... wo ich ihn nur teilweise mit eingefügt hab, hab ich iweder das gleiche Problem beim speichern, das er dies nicht macht...

    Notice: Undefined variable: _post in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 5

    Notice: Undefined variable: _post in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 6

    Notice: Undefined variable: _post in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 7

    Notice: Undefined variable: _post in D:\Programme\webserver\xampp\htdocs\gb\gb.php on line 8

    der geänderte code sieht so aus...


    Quellcode

    1. </tr>
    2. <tr class="row2"><td<form enctype="multipart/form-data" action="gb.php" method="post">
    3. <div align="center">
    4. <input type="hidden" name="nick" value="<? echo $nick; ?>" />
    5. <input type="hidden" name="user" value="<? echo $user; ?>" />
    6. <input type="hidden" name="acti" value="save" />
    7. <input type="hidden" name="uid" value="<? echo $row->uid; ?>" />
    8. <br><textarea name="messa" cols="50" rows="7"></textarea>
    9. <br>
    10. <input type="submit" value="Speichern">


    Quellcode

    1. $messa =$_post['messa'];
    2. $nick = $_post['nick'];
    3. $user = $_post['user'];
    4. $acti = $_post['acti'];


    dann verschwinden bei post noch die einträge, die ich mal so in der SQL-Tabelle eingetragen hatte...

    also kein nennenswerter Erfolg...
  • Das sind ja nur die 4 _get, die vorhanden sind...

    Quellcode

    1. $messa =$_GET['messa'];
    2. $nick = $_GET['nick'];
    3. $user = $_GET['user'];
    4. $acti = $_GET['acti'];


    das ist die Form mit Get

    Quellcode

    1. <tr class="row2"><td<form enctype="multipart/form-data" action="gb.php" method="post">
    2. <div align="center">
    3. <input type="hidden" name="nick" value="plankton" />
    4. <input type="hidden" name="user" value="tristar" />
    5. <input type="hidden" name="acti" value="save" />
    6. <br><textarea name="messa" cols="50" rows="7"></textarea>
    7. <br>
    8. <input type="submit" value="Speichern">
    9. </div>
    10. </form>
    Alles anzeigen


    und dies ist mit _POST

    Quellcode

    1. <tr class="row2"><td<form enctype="multipart/form-data" action="gb.php" method="post">
    2. <div align="center">
    3. <input type="hidden" name="nick" value="" />
    4. <input type="hidden" name="user" value="" />
    5. <input type="hidden" name="acti" value="save" />
    6. <br><textarea name="messa" cols="50" rows="7"></textarea>
    7. <br>
    8. <input type="submit" value="Speichern">


    wie mir aufgefallen ist, fügt er mit _get den User und Nick ein, nur speichern will er das nit in die SQL-Tabelle...

    greets
  • wir kommen irgendwie nicht weiter..
    dein original code ist schon ziemlich verquert....
    #15 if ($messa != "") {;

    Was soll das Semikolon?

    #20 function eintrag($messa) { ...}
    #35 function check_messa($messa) { ...}

    Wo rufst du diese Funktionen auf?

    Und was du aktuell im Code stehen hast weiß ich auch nicht. Mysql_errors? POST Variablen umgeformt?
    Was solls.. um mal ein bisschen vorwärts zu kommen probier mal folgenden Code

    Quellcode

    1. <?php
    2. error_reporting(E_ALL);
    3. include "log.php";
    4. function check_messa($messa) {
    5. if (strlen($text)>2000) {
    6. fehlermeldung("Der Text im Feld 'Text' ist zu lang (".strlen($text)." Zeichen)");
    7. return false;
    8. }
    9. else return true;
    10. }
    11. if(isset($_GET['nick']) && isset($_GET['user'])) {
    12. $nick = mysql_real_escape_string($_GET['nick']);
    13. $user = mysql_real_escape_string($_GET['user']);
    14. } else die('Falsche Anzahl Parameter');
    15. if(isset($_POST['messa']) && isset($_POST['nick']) && isset($_POST['user'])) {
    16. $messa= mysql_real_escape_string($_POST['messa']);
    17. $acti = $_POST['acti'];
    18. $uid = intval($_POST['uid']);
    19. if ($acti == "save") {
    20. $von = $nick;
    21. $an = $user;
    22. $datum = date("d.m.Y");
    23. $uhrzeit = date("H:i");
    24. if ($messa != "") {
    25. $messa = strip_tags($messa);
    26. if(check_messa($messa)) {
    27. $messa = nl2br ($messa);
    28. $messa = str_replace("[img]","<img src=\"", $messa);
    29. $messa = str_replace("[/img]","\">", $messa);
    30. $eintrag = "INSERT INTO icc_gb (an, von, datum, uhrzeit, messa) VALUES ('$an','$von','$datum','$uhrzeit','$messa')";
    31. mysql_query($messa)or die(mysql_error());
    32. }
    33. }
    34. }
    35. if ($acti == "delet") {
    36. $loesch = "DELETE FROM icc_gb WHERE uid = '$uid'";
    37. mysql_query($loesch)or die(mysql_error());;
    38. }
    39. if ($acti == "check") {
    40. //...
    41. }
    42. }
    43. ?>
    44. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    45. <html>
    46. <head>
    47. <title>Gästebuch von <? echo $user; ?> </title>
    48. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    49. </head>
    50. <body>
    51. <table width="90%" border="1" align="center" cellpadding="0" cellspacing="0" class="outer">
    52. <tr>
    53. <td>
    54. <table width="100%" border="0" cellspacing="0" cellpadding="0">
    55. <tr>
    56. <th><div align="center">Gästebuch von <? echo $user; ?></div></th>
    57. </tr>
    58. <?php
    59. $abfrag = "SELECT * FROM icc_gb WHERE an = '$user' ORDER by datum DESC";
    60. $abfrage = mysql_query($abfrag);
    61. while ($row = mysql_fetch_object($abfrage)) {
    62. $num = true;
    63. echo '<tr class="row2">
    64. <td align="center"><em><strong>von <a href="gb.php?user='. $row->von .'&nick='. $nick .'">
    65. '.$row->von.'</a> geschrieben am '.$row->datum.' '.$row->uhrzeit.'</strong></em><br />
    66. <br />'.$row->messa.'<br />';
    67. if ($user == $nick) {
    68. echo '<form enctype="multipart/form-data" action="gb.php?user='.$user.'&nick='.$nick.'" method="post">
    69. <input type="hidden" name="uid" value="'.$row->uid.'" />
    70. <input type="hidden" name="acti" value="delet" />
    71. <input type="submit" value="Löschen">
    72. </form>';
    73. }
    74. echo '<hr /></td>
    75. </tr>';
    76. }
    77. if(!isset($num))
    78. echo "<div align=\"center\">Keine Einträge vorhanden</div>";
    79. ?>
    80. </table>
    81. </td>
    82. </tr>
    83. <tr class="row2"><td align="center">
    84. <form enctype="multipart/form-data" action="gb.php?nick=<? echo $nick; ?>&user=<? echo $user; ?>" method="post">
    85. <input type="hidden" name="acti" value="save" />
    86. <br /><textarea name="userpro" cols="50" rows="7"></textarea>
    87. <br /><input type="submit" value="Speichern">
    88. </form>
    89. </td></tr>
    90. </table>
    91. </body>
    92. </html>
    Alles anzeigen
  • Hy

    dies hab ich gemacht...

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\Programme\webserver\xampp\htdocs\gb\gb2.php on line 13

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in D:\Programme\webserver\xampp\htdocs\gb\gb2.php on line 13

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in D:\Programme\webserver\xampp\htdocs\gb\gb2.php on line 14

    Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: A link to the server could not be established in D:\Programme\webserver\xampp\htdocs\gb\gb2.php on line 14


    ... Die user ist ja nur der, von dem das GB ist... da es mehrere user gibt, somit mehrere GB´s in einen und der Nick ist nur, der den Eintrag hinterlässt...

    deswegen bring es nichts, wenn der User oder Nick versucht auf die SQL zuzugreifen...

    greets
  • "toxic" schrieb:

    ... Die user ist ja nur der, von dem das GB ist... da es mehrere user gibt, somit mehrere GB´s in einen und der Nick ist nur, der den Eintrag hinterlässt...

    deswegen bring es nichts, wenn der User oder Nick versucht auf die SQL zuzugreifen...


    Hab mich nur an deinem Posting orientiert.

    Baust du deine Verbinung in log.php auf? Hab den Include mal nach oben gezogen.