Captcha: Call to a member function on a non-object

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

  • Captcha: Call to a member function on a non-object

    Hallo,
    ich habe probiert ein Captcha einzubauen aber ledier funktioniert es nicht ganz schaut selber. Habe es einfach mit in die If Anweisung vom senden reingepackt. Zeigt dort auch keine Fehler nur das es mit Fatal error: Call to a member function on a non-object in /www/htdocs/w0063ded/webmedia/captcha/addlink.php on line 53 $pic_url = $my_captcha->get_pic( 4 ); nicht zurecht kommt.

    Quellcode

    1. <?
    2. require_once( 'class.captcha.php' );
    3. $db_host = "localhost"; // DB HOST
    4. $db_user = "d******"; // DB USER
    5. $db_pass = "******f"; // DB PASS
    6. $db_base = "d*****"; // DB BASE
    7. @mysql_connect($db_host, $db_user, $db_pass) OR die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    8. mysql_select_db($db_base) OR die("Datenbank konnte nicht benutz werden, Fehlermeldung: ".mysql_error());
    9. if($_POST['submit']) {
    10. $error = "";
    11. if(empty($_POST['link_name'])) $error .= "<li>Sie haben kein Namen angegeben</li>";
    12. if(empty($_POST['link_text'])) $error .= "<li>Sie haben keine Unteraccounts angegeben.</li>";
    13. if (empty($_GET['session_code']))
    14. { $session_code = md5(round(rand(0,40000))); }
    15. else
    16. { $session_code=$_GET['session_code']; }
    17. $my_captcha = new captcha( $session_code, '__TEMP__/' );
    18. $do = $_GET['do'];
    19. if ($do == 'verify')
    20. {
    21. if ($my_captcha->verify( $_POST['password'] ) )
    22. {
    23. if(empty($error)) {
    24. mysql_query("INSERT INTO meine_links(name,url,text) VALUES ('".$_POST['link_name']."','".$_POST['link_url']."','".$_POST['link_text']."')");
    25. echo "Erfolgreich eingetragen";
    26. } elseif(!empty($error)) {
    27. echo "Fehler aufgetreten: <ul>".$error."</ul>";
    28. }
    29. exit;
    30. }
    31. }
    32. $pic_url = $my_captcha->get_pic( 4 );
    33. }
    34. elseif($_GET['mod'] == "install") {
    35. mysql_query("
    36. CREATE TABLE `meine_links` (
    37. `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
    38. `name` VARCHAR( 50 ) NOT NULL ,
    39. `url` VARCHAR( 50 ) NOT NULL ,
    40. `text` TEXT NOT NULL ,
    41. PRIMARY KEY ( `id` )
    42. ) TYPE = MYISAM ;
    43. ");
    44. echo "Tabelle erstellt";
    45. }
    46. $pic_url = $my_captcha->get_pic( 4 );
    47. echo <<<FORM
    48. <form name="form1" method="post" action="$PHP_SELF?do=verify&session_code=$session_code">
    49. <p><img src="captcha_image.php?img=$pic_url"></p>
    50. <p>Displayed Code? <input type="text" name="password"></p>
    51. </form>
    52. FORM;
    53. ?>
    54. <table width="100%" border="0">
    55. <form method="post" action="<? "$PHP_SELF?do=verify&session_code=$session_code" ?>">
    56. <tr>
    57. <td width="166">Name des GM`s:</td>
    58. <td width="624"><input name="link_name" type="text" size="30"></td>
    59. </tr>
    60. <tr>
    61. <td>Unteraccounts des GM`s: </td>
    62. <td><label>
    63. <textarea name="link_text" cols="28" rows="1">-</textarea>
    64. </label></td>
    65. </tr>
    66. <tr>
    67. <td align="center"><input type="reset" value="Reset"></td>
    68. <td><input type="submit" name="submit" value="Eintragen"></td>
    69. </tr>
    70. </form>
    71. </table>
    72. <p><a href="?activ=artikel" target="_self"></a></p>
    Alles anzeigen


    Seht selbst:
    http://tut-base.net/captcha/artikel.php
    --Kommt noch--
  • Ahhh, danke das habe ich verstanden jetzt geht es auch nur das problem es erstellt kein image... bzw das Image kommt erst sobald ich abgesendet habe. Aber es funktioniert nicht in der If bedingung da es kein Captcha wirklich überprüft schaut selbst tragt einfach mal daten ein.
    Der Code:

    Quellcode

    1. <?
    2. require_once( 'class.captcha.php' );
    3. $db_host = "localhost"; // DB HOST
    4. $db_user = "******"; // DB USER
    5. $db_pass = "*****f4df"; // DB PASS
    6. $db_base = "******8be"; // DB BASE
    7. @mysql_connect($db_host, $db_user, $db_pass) OR die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    8. mysql_select_db($db_base) OR die("Datenbank konnte nicht benutz werden, Fehlermeldung: ".mysql_error());
    9. if($_POST['submit']) {
    10. $error = "";
    11. if(empty($_POST['link_name'])) $error .= "<li>Sie haben kein Namen angegeben</li>";
    12. if(empty($_POST['link_text'])) $error .= "<li>Sie haben keine Unteraccounts angegeben.</li>";
    13. if (empty($_GET['session_code']))
    14. { $session_code = md5(round(rand(0,40000))); }
    15. else
    16. { $session_code=$_GET['session_code']; }
    17. $my_captcha = new captcha( $session_code, '__TEMP__/' );
    18. $do = $_GET['do'];
    19. if ($do == 'verify')
    20. {
    21. if ($my_captcha->verify( $_POST['password'] ) )
    22. {
    23. if(empty($error)) {
    24. mysql_query("INSERT INTO meine_links(name,url,text) VALUES ('".$_POST['link_name']."','".$_POST['link_url']."','".$_POST['link_text']."')");
    25. echo "Erfolgreich eingetragen";
    26. } elseif(!empty($error)) {
    27. echo "Fehler aufgetreten: <ul>".$error."</ul>";
    28. }
    29. exit;
    30. }
    31. }
    32. $pic_url = $my_captcha->get_pic( 4 );
    33. }
    34. elseif($_GET['mod'] == "install") {
    35. mysql_query("
    36. CREATE TABLE `meine_links` (
    37. `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
    38. `name` VARCHAR( 50 ) NOT NULL ,
    39. `url` VARCHAR( 50 ) NOT NULL ,
    40. `text` TEXT NOT NULL ,
    41. PRIMARY KEY ( `id` )
    42. ) TYPE = MYISAM ;
    43. ");
    44. echo "Tabelle erstellt";
    45. }
    46. echo <<<FORM
    47. <form name="form1" method="post" action="$PHP_SELF?do=verify&session_code=$session_code">
    48. <p><img src="captcha_image.php?img=$pic_url"></p>
    49. <p>Displayed Code? <input type="text" name="password"></p>
    50. </form>
    51. FORM;
    52. ?>
    53. <table width="100%" border="0">
    54. <form method="post" action="<? "$PHP_SELF?do=verify&session_code=$session_code" ?>">
    55. <tr>
    56. <td width="166">Name des GM`s:</td>
    57. <td width="624"><input name="link_name" type="text" size="30"></td>
    58. </tr>
    59. <tr>
    60. <td>Unteraccounts des GM`s: </td>
    61. <td><label>
    62. <textarea name="link_text" cols="28" rows="1">-</textarea>
    63. </label></td>
    64. </tr>
    65. <tr>
    66. <td align="center"><input type="reset" value="Reset"></td>
    67. <td><input type="submit" name="submit" value="Eintragen"></td>
    68. </tr>
    69. </form>
    70. </table>
    71. <p><a href="?activ=artikel" target="_self"></a></p>
    Alles anzeigen

    selber link wie oben.
    --Kommt noch--
  • Du musst die $pic_url auch irgendwo einbauen.

    Quellcode

    1. echo '<img src="' . $pic_url . '" alt="captcha" />';


    Ich gehe davon aus du nutzt diese captcha klasse?

    Quellcode

    1. <?php
    2. /*
    3. Jax Captcha Class v1.o1 - Copyright (c) 2005, Andreas John aka Jack (tR)
    4. This program and it's moduls are Open Source in terms of General Public License (GPL) v2.0
    5. class.captcha.php (captcha class module)
    6. Last modification: 2005-09-05
    7. */
    8. class captcha
    9. {
    10. var $session_key = null;
    11. var $temp_dir = null;
    12. var $width = 160;
    13. var $height = 60;
    14. var $jpg_quality = 15;
    15. /**
    16. * Constructor - Initializes Captcha class!
    17. *
    18. * @param string $session_key
    19. * @param string $temp_dir
    20. * @return captcha
    21. */
    22. function captcha( $session_key, $temp_dir )
    23. {
    24. $this->session_key = $session_key;
    25. $this->temp_dir = $temp_dir;
    26. }
    27. /**
    28. * Generates Image file for captcha
    29. *
    30. * @param string $location
    31. * @param string $char_seq
    32. * @return unknown
    33. */
    34. function _generate_image( $location, $char_seq )
    35. {
    36. $num_chars = strlen($char_seq);
    37. $img = imagecreatetruecolor( $this->width, $this->height );
    38. imagealphablending($img, 1);
    39. imagecolortransparent( $img );
    40. // generate background of randomly built ellipses
    41. for ($i=1; $i<=200; $i++)
    42. {
    43. $r = round( rand( 0, 100 ) );
    44. $g = round( rand( 0, 100 ) );
    45. $b = round( rand( 0, 100 ) );
    46. $color = imagecolorallocate( $img, $r, $g, $b );
    47. imagefilledellipse( $img, round(rand(0, $this->width)), round(rand(0, $this->height)), round(rand(0, $this->width/16)), round(rand(0, $this->height/4)), $color );
    48. }
    49. $start_x = round($this->width / $num_chars);
    50. $max_font_size = $start_x;
    51. $start_x = round(0.5*$start_x);
    52. $max_x_ofs = round($max_font_size*0.9);
    53. // set each letter with random angle, size and color
    54. for ($i=0;$i<=$num_chars;$i++)
    55. {
    56. $r = round( rand( 127, 255 ) );
    57. $g = round( rand( 127, 255 ) );
    58. $b = round( rand( 127, 255 ) );
    59. $y_pos = ($this->height/2)+round( rand( 5, 20 ) );
    60. $fontsize = round( rand( 18, $max_font_size) );
    61. $color = imagecolorallocate( $img, $r, $g, $b);
    62. $presign = round( rand( 0, 1 ) );
    63. $angle = round( rand( 0, 25 ) );
    64. if ($presign==true) $angle = -1*$angle;
    65. ImageTTFText( $img, $fontsize, $angle, $start_x+$i*$max_x_ofs, $y_pos, $color, 'default.ttf', substr($char_seq, $i, 1) );
    66. }
    67. // create image file
    68. imagejpeg( $img, $location, $this->jpg_quality );
    69. flush();
    70. imagedestroy( $img );
    71. return true;
    72. }
    73. /**
    74. * Returns name of the new generated captcha image file
    75. *
    76. * @param unknown_type $num_chars
    77. * @return unknown
    78. */
    79. function get_pic( $num_chars=8 )
    80. {
    81. // define characters of which the captcha can consist
    82. $alphabet = array(
    83. 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
    84. 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
    85. '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' );
    86. $max = sizeof( $alphabet );
    87. // generate random string
    88. $captcha_str = '';
    89. for ($i=1;$i<=$num_chars;$i++) // from 1..$num_chars
    90. {
    91. // choose randomly a character from alphabet and append it to string
    92. $chosen = rand( 1, $max );
    93. $captcha_str .= $alphabet[$chosen-1];
    94. }
    95. // generate a picture file that displays the random string
    96. if ( $this->_generate_image( $this->temp_dir.'/'.'cap_'.md5( strtolower( $captcha_str )).'.jpg' , $captcha_str ) )
    97. {
    98. $fh = fopen( $this->temp_dir.'/'.'cap_'.$this->session_key.'.txt', "w" );
    99. fputs( $fh, md5( strtolower( $captcha_str ) ) );
    100. return( md5( strtolower( $captcha_str ) ) );
    101. }
    102. else
    103. {
    104. return false;
    105. }
    106. }
    107. /**
    108. * check hash of password against hash of searched characters
    109. *
    110. * @param string $char_seq
    111. * @return boolean
    112. */
    113. function verify( $char_seq )
    114. {
    115. $fh = fopen( $this->temp_dir.'/'.'cap_'.$this->session_key.'.txt', "r" );
    116. $hash = fgets( $fh );
    117. if (md5(strtolower($char_seq)) == $hash)
    118. return true;
    119. else
    120. return false;
    121. }
    122. }
    123. ?>
    Alles anzeigen
  • Hallo,

    ich habe es gemacht jedoch findet keine Fehlermeldung statt da logischerweise nicht einmal die Funktion ausgeführt wird. Der Code:

    Quellcode

    1. <?
    2. require_once( 'class.captcha.php' );
    3. $db_host = "localhost"; // DB HOST
    4. $db_user = ""; // DB USER
    5. $db_pass = "f"; // DB PASS
    6. $db_base = ""; // DB BASE
    7. @mysql_connect($db_host, $db_user, $db_pass) OR die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    8. mysql_select_db($db_base) OR die("Datenbank konnte nicht benutz werden, Fehlermeldung: ".mysql_error());
    9. if($_POST['submit']) {
    10. $error = "";
    11. if(empty($_POST['link_name'])) $error .= "<li>Sie haben kein Namen angegeben</li>";
    12. if(empty($_POST['link_text'])) $error .= "<li>Sie haben keine Unteraccounts angegeben.</li>";
    13. if (empty($_GET['session_code']))
    14. { $session_code = md5(round(rand(0,40000))); }
    15. else
    16. { $session_code=$_GET['session_code']; }
    17. $my_captcha = new captcha( $session_code, '__TEMP__/' );
    18. $do = $_GET['do'];
    19. if ($do == 'verify')
    20. {
    21. if ($my_captcha->verify( $_POST['password'] ) )
    22. {
    23. if(empty($error)) {
    24. mysql_query("INSERT INTO meine_links(name,url,text) VALUES ('".$_POST['link_name']."','".$_POST['link_url']."','".$_POST['link_text']."')") or die(mysql_error().' in '.__LINE__);
    25. echo "Erfolgreich eingetragen";
    26. } elseif(!empty($error)) {
    27. echo "Fehler aufgetreten: <ul>".$error."</ul>";
    28. }
    29. exit;
    30. }
    31. }
    32. $pic_url = $my_captcha->get_pic( 4 );
    33. }
    34. elseif($_GET['mod'] == "install") {
    35. mysql_query("
    36. CREATE TABLE `meine_links` (
    37. `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
    38. `name` VARCHAR( 50 ) NOT NULL ,
    39. `url` VARCHAR( 50 ) NOT NULL ,
    40. `text` TEXT NOT NULL ,
    41. PRIMARY KEY ( `id` )
    42. ) TYPE = MYISAM ;
    43. ");
    44. echo "Tabelle erstellt";
    45. }
    46. echo <<<FORM
    47. <form name="form1" method="post" action="$PHP_SELF?do=verify&session_code=$session_code">
    48. <p><img src="captcha_image.php?img=$pic_url"></p>
    49. <p>Displayed Code? <input type="text" name="password"></p>
    50. </form>
    51. FORM;
    52. ?>
    53. <table width="100%" border="0">
    54. <form method="post" action="<? "$PHP_SELF?do=verify&session_code=$session_code" ?>">
    55. <tr>
    56. <td width="166">Name des GM`s:</td>
    57. <td width="624"><input name="link_name" type="text" size="30"></td>
    58. </tr>
    59. <tr>
    60. <td>Unteraccounts des GM`s: </td>
    61. <td><label>
    62. <textarea name="link_text" cols="28" rows="1">-</textarea>
    63. </label></td>
    64. </tr>
    65. <tr>
    66. <td align="center"><input type="reset" value="Reset"></td>
    67. <td><input type="submit" name="submit" value="Eintragen"></td>
    68. </tr>
    69. </form>
    70. </table>
    71. <p><a href="?activ=artikel" target="_self"></a></p>
    Alles anzeigen
    --Kommt noch--
  • Einfach mal etwas durchgestöbert und in Zeile 61 folgenden Fehler gefunden. Keine Ahnung, ob das nun die Ursache ist, funktionieren tut das so jedoch nicht.

    Quellcode

    1. <form method="post" action="<? "$PHP_SELF?do=verify&session_code=$session_code" ?>">


    Richtig wäre:

    Quellcode

    1. <form method="post" action="<?="$PHP_SELF?do=verify&session_code=$session_code"; ?>">
  • Quellcode

    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    2. "http://www.w3.org/TR/html4/loose.dtd">
    3. <html>
    4. <head>
    5. <title>Demo fr Captcha-Funktion</title>
    6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    7. </head>
    8. <body>
    9. <?php
    10. require_once( 'class.captcha.php' );
    11. if (empty($_GET['session_code']))
    12. { $session_code = md5(round(rand(0,40000))); }
    13. else
    14. { $session_code=$_GET['session_code']; }
    15. $my_captcha = new captcha( $session_code, '__TEMP__/' );
    16. $do = $_GET['do'];
    17. if ($do == 'verify')
    18. {
    19. if ($my_captcha->verify( $_POST['password'] ) )
    20. {
    21. echo "You entered the correct password!";
    22. exit;
    23. }
    24. }
    25. $pic_url = $my_captcha->get_pic( 4 );
    26. echo <<<FORM
    27. <form name="form1" method="post" action="$PHP_SELF?do=verify&session_code=$session_code">
    28. <p><img src="captcha_image.php?img=$pic_url"></p>
    29. <p>Displayed Code? <input type="text" name="password"></p>
    30. <p><input type="submit" name="Submit" value="berprfen"></p>
    31. </form>
    32. FORM;
    33. ?>
    34. </body>
    35. </html>
    Alles anzeigen


    Also habe die demo.php mal bei dem NoPase hochgeladen.

    So nun eine umfassende Beschreibung was ich genau will:

    Ich will das dieses script die Daten die im Formular angegeben wurden einfach in die Datenbank sendet und das dann in der Form wieder ausgibt (siehe oben link). Aber bevor es die Daten abschickt soll es das Captcha überprüfen.

    D.h. Wenn das Captcha falsch oder garnicht eingegeben, die Formulare nicht ausgefüllt worden soll eine Fehlemeldung erscheinen und das script (Formulareingaben) sollen nicht abgesendet werden.

    Ich hoffe ich konnte es jetzt etwas genauer erklären ;-).
    --Kommt noch--
  • Hab einen Fehler: $session_code wird ja nur gesetzt, wenn das Formular schon abgeschickt wurde

    Quellcode

    1. if($_POST['submit']) {
    2. //...
    3. if (empty($_GET['session_code']))
    4. { $session_code //....
    5. }
    6. echo <<<FORM
    7. <form name="form1" method="post" action="$PHP_SELF?do=verify&session_code=$session_code">
    8. <p><img src="captcha_image.php?img=$pic_url"></p>
    9. <p>Displayed Code? <input type="text" name="password"></p>
    10. </form>
    11. FORM;
    Alles anzeigen
  • Hallo,

    da ich bis jetzt immernoch nicht zu einem Ergebnis gekommen bin habe beschlossen euch alles nochmal von Anfang an zu zeigen und jetzt ist es ganz einfach ;).

    Also das ist der source Code der
    Addlink:

    Quellcode

    1. <?
    2. $db_host = "localhost"; // DB HOST
    3. $db_user = "*"; // DB USER
    4. $db_pass = "*"; // DB PASS
    5. $db_base = "*"; // DB BASE
    6. @mysql_connect($db_host, $db_user, $db_pass) OR die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    7. mysql_select_db($db_base) OR die("Datenbank konnte nicht benutz werden, Fehlermeldung: ".mysql_error());
    8. if($_POST['send']) {
    9. $error = "";
    10. if(empty($_POST['link_name'])) $error .= "<li>Sie haben kein Namen angegeben</li>";
    11. if(empty($_POST['link_text'])) $error .= "<li>Sie haben keinen Unteracc. angegeben.</li>";
    12. if(empty($error)) {
    13. mysql_query("INSERT INTO meine_links(name,url,text) VALUES ('".$_POST['link_name']."','".$_POST['link_url']."','".$_POST['link_text']."')");
    14. echo "Erfolgreich eingetragen";
    15. } elseif(!empty($error)) {
    16. echo "Fehler aufgetreten: <ul>".$error."</ul>";
    17. }
    18. } elseif($_GET['mod'] == "install") {
    19. mysql_query("
    20. CREATE TABLE `meine_links` (
    21. `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
    22. `name` VARCHAR( 50 ) NOT NULL ,
    23. `url` VARCHAR( 50 ) NOT NULL ,
    24. `text` TEXT NOT NULL ,
    25. PRIMARY KEY ( `id` )
    26. ) TYPE = MYISAM ;
    27. ");
    28. echo "Tabelle erstellt";
    29. }
    30. ?>
    31. <table width="800" border="0">
    32. <form method="post" action="<? $_SERVER['PHP_SELF']; ?>">
    33. <tr>
    34. <td width="166">Name des GM`s:</td>
    35. <td width="624"><input name="link_name" type="text" size="30"></td>
    36. </tr>
    37. <tr>
    38. <td>Unteraccounts des GM`s: </td>
    39. <td><input name="link_text" type="text" size="30"></td>
    40. </tr>
    41. <tr>
    42. <td align="center"><input type="reset" value="Reset"></td>
    43. <td><input type="submit" name="send" value="Eintragen"></td>
    44. </tr>
    45. </form>
    46. </table>
    47. <p><a href="?activ=artikel" target="_self"></a></p>
    Alles anzeigen


    Source der Artikel.php:

    Quellcode

    1. <div align="left">
    2. <?php
    3. $db_host = "localhost"; // DB HOST
    4. $db_user = "****"; // DB USER
    5. $db_pass = "***"; // DB PASS
    6. $db_base = "*****"; // DB BASE
    7. @mysql_connect($db_host, $db_user, $db_pass) OR die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    8. mysql_select_db($db_base) OR die("Datenbank konnte nicht benutz werden, Fehlermeldung: ".mysql_error());
    9. $query = "SELECT * FROM meine_links ORDER BY id DESC";
    10. $result = mysql_query($query);
    11. while($link = mysql_fetch_array($result)) {
    12. echo "<img src='http://tut-base.net/linkpix.gif'> <b>GM Accounts: </b>" .$link['name'].' '." <b>Unteraccounts: </b>".$link['text']."<br />";
    13. }
    14. ?>
    15. </div>
    16. <p></p>
    17. <p></p>
    18. <?php include('addlink.php'); ?>
    Alles anzeigen


    So ich denke bis hier her ist euch auch alles klar oder?
    Und es funktioniert auch man kann daten in die Datenbank schreiben lassen. Könnt ihr gerne testen. Aber das Problem ich habe kein Spamschutz und deswegen wollte ich dieses Captcha (als Anlage in Rar) einbauen aber ich schaffe es nicht wirklich. Wenn ihr vllt. ein besseres habt dann sagt einfach bescheid. Deswegen bitte ich euch um hilfe damit ich endlich ein Captcha als Spamschutz.
    Dateien
    --Kommt noch--
  • "GFXShorty" schrieb:

    "d0nut" schrieb:

    Hab einen Fehler: $session_code wird ja nur gesetzt, wenn das Formular schon abgeschickt wurde
    Wie schreibe ich das jetzt am besten rein damit ich das prob ned mehr hab?


    Naja, indem du den ganzen captcha kram aus der if bedingung rausholst und nur noch die verify Methode innerhalb der if einbaust.

    Quellcode

    1. <?php
    2. require_once( 'class.captcha.php' );
    3. if (empty($_GET['session_code']))
    4. { $session_code = md5(round(rand(0,40000))); }
    5. else
    6. { $session_code=$_GET['session_code']; }
    7. $my_captcha = new captcha( $session_code, '__TEMP__/' );
    8. if($_POST['send'] && $my_captcha->verify( $_POST['password'] )) {
    9. ....
    10. }
    11. ?>
    Alles anzeigen
  • Quellcode

    1. <?php
    2. $db_host = "localhost"; // DB HOST
    3. $db_user = "*"; // DB USER
    4. $db_pass = "*"; // DB PASS
    5. $db_base = "*"; // DB BASE
    6. @mysql_connect($db_host, $db_user, $db_pass) OR die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    7. mysql_select_db($db_base) OR die("Datenbank konnte nicht benutz werden, Fehlermeldung: ".mysql_error());
    8. require_once( 'class.captcha.php' );
    9. if (empty($_GET['session_code']))
    10. { $session_code = md5(round(rand(0,40000))); }
    11. else
    12. { $session_code=$_GET['session_code']; }
    13. $my_captcha = new captcha( $session_code, '__TEMP__/' );
    14. if($_POST['send'] && $my_captcha->verify( $_POST['password'] )) {
    15. $error = "";
    16. if(empty($_POST['link_name'])) $error .= "<li>Sie haben kein Namen angegeben</li>";
    17. if(empty($_POST['link_text'])) $error .= "<li>Sie haben keinen Unteracc. angegeben.</li>";
    18. if(empty($error)) {
    19. mysql_query("INSERT INTO meine_links(name,url,text) VALUES ('".$_POST['link_name']."','".$_POST['link_url']."','".$_POST['link_text']."')");
    20. echo "Erfolgreich eingetragen";
    21. } elseif(!empty($error)) {
    22. echo "Fehler aufgetreten: <ul>".$error."</ul>";
    23. }
    24. } elseif($_GET['mod'] == "install") {
    25. mysql_query("
    26. CREATE TABLE `meine_links` (
    27. `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
    28. `name` VARCHAR( 50 ) NOT NULL ,
    29. `url` VARCHAR( 50 ) NOT NULL ,
    30. `text` TEXT NOT NULL ,
    31. PRIMARY KEY ( `id` )
    32. ) TYPE = MYISAM ;
    33. ");
    34. echo "Tabelle erstellt";
    35. }
    36. ?>
    37. <table width="800" border="0">
    38. <form method="post" action="<? $_SERVER['PHP_SELF']; ?>?session_code=<?=$session_code?>">
    39. <tr>
    40. <td width="166">Name des GM`s:</td>
    41. <td width="624"><input name="link_name" type="text" size="30"></td>
    42. </tr>
    43. <tr>
    44. <td>Unteraccounts des GM`s: </td>
    45. <td><input name="link_text" type="text" size="30"></td>
    46. </tr>
    47. <tr>
    48. <td align="center"><input type="reset" value="Reset"></td>
    49. <td><input type="submit" name="send" value="Eintragen"></td>
    50. </tr>
    51. <tr><td colspan="2">
    52. <p><img src="captcha_image.php?img=$pic_url"></p>
    53. <p>Displayed Code? <input type="text" name="password"></p>
    54. <p><input type="submit" name="Submit" value="berprfen"></p>
    55. </td></tr>
    56. </form>
    57. </table>
    58. <p><a href="?activ=artikel" target="_self"></a></p>
    Alles anzeigen