durch PHP in Mysql Datenbank Name oder IP ändern !!!

03/14/2010 01:16 Ethagar#1
Hallo liebe COM,

ich habe ein Problem mit Mysql und PHP.

Ich wollte mir ein PHP Script schreiben das auf die Mysql Datenbank (bestimmte Spalte) zugreift und dann mir sagt was da drin steht. Zudem will ich es gleich ändern in was neues!

Das heißt ich möchte gern ein Formular haben das anzeigt was grad drin steht und gleichzeitig ich das ändern kann, sodass es auch gleich in der db geändert wird.

PHP Code:
<?php
    
include("config_common.php");
         
/*Variablen zum Einfügen der Daten in die Datenbank*/
       
$mName             =   $_GET["mName"];
       
$mContactIP      =   $_POST["mContactIP"];
       

         
$aendern   =   "UPDATE my_links Set mContactIP = \"".$mContactIP."\" WHERE mName=".$_GET["mName"];

?>
<form action="<?php echo $_POST["PHP_SEL"]; ?>" method="post">
<?php

         $abfrage 
"SELECT * FROM my_links WHERE mName=".$_GET["mName"];
         
$ergebnis mysql_query($abfrage);
         while (
$result mysql_fetch_object($ergebnis))
        if(!(
$_POST['ok']))
                     {
                     echo 
"

                                         <table>
                           <tr>
                                  <td class='content'>Bezeichnung</td>
                                  <td><input value='
$result->head' class='fields' name='mContactIP' type='text'></td>
                           </tr>
                           
                           <tr>
                                  <td><input type='submit' value='Daten senden' class='button' name='ok'></td>
                                  <td><input type='reset' value='Daten löschen' class='button'></td>
                              <br>
                              <hr>
                              <br><br>
                           </tr>
                    </table>
                                         "
;
                  }
              else if(
$_POST['ok'])
                  {
                          if(
strlen($mContactIP) <1$error 1;
                         

                    if(
$error == 0)
                          {
                             
//Variable zum Eintrag der Daten in die Datenbank
                               
$aendern   =   mysql_query($aendern) or die (mysql_error());
                                   echo 
"
                                             <html>
                                                 <head>
                                                     <meta http-equiv='refresh' content='5; URL=http://nasty.hopto.org/Gm/ip.php'>
                                                 </head>
                                             <body>
                                             Ihre Daten wurden erfolgreich in die Datenbank eingetragen
                                                </body>
                                             </html>
                                             "
;
                          }
                    else
                          {
                               echo 
"Es ist ein Fehler aufgetreten, bitte alle formulare ausfühlen!";
                          }
                  }
?>
</form>

Ich bitte doch um schnellstmöglicher Hilfe !!!

Liebe Grüße
Ethagar
03/14/2010 13:55 Who dis?#2
Puh, sehr kompliziert und unsicher ist dein Script.
Mal aus dem Kopf:

PHP Code:
<?php
include("config_common.php");

if (isset(
$_POST['ok'])) {
    
$mName mysql_real_escape_string(trim($_GET['mName']));
    
$mContactIP mysql_real_escape_string(trim($_POST['mContactIP']));
    
        if (empty(
$mContactIP)) { $msg '<b>Fehler:</b> Bitte füllen Sie alle Felder aus!'; }
        else {
            
            
$edit mysql_query("UPDATE my_links SET mContactIP='".$mContactIP."' WHERE mName='".$mName."'");
            if (isset(
$edit)) { $msg 'Ihre Datenbank wurde erfolgreich bearbeitet!'; }
            
            
header("refresh:2;");
            exit(); } }
            
else {
    
    
$query mysql_query("SELECT * FROM my_links WHERE mName='".mysql_real_escape_string(trim($_GET['mName']))."'");
    
$db mysql_fetch_array($query);
        
        echo 
'<form action="" method="post">';
        echo 
'<table border="0" cellpadding="0" cellspacing="0"><tr>';
        echo 
'<td class="content">Bezeichnung</td>';
        echo 
'<td><input value="'.trim($db['mContactIP']).'" class="fields" name="mContactIP" type="text" /></td></tr>';
        echo 
'<tr><td><input type="submit" value="Daten senden" class="button" name="ok" /></td>';
        echo 
'<td><input type="reset" value="Daten löschen" class="button" /></td>';
        echo 
'<br /><hr /><br /><br /></tr></table></form>'; }
        
echo 
$msg;
?>
03/14/2010 15:36 Ethagar#3
Also erstmal danke für die schnelle Antwort.

ABER :

erstens ist ein Fehler in dem Script drin
( Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\test.php on line 20 )

und

zweitens weiß die Datenbank ja garnicht von wem sie die IP ändern soll.

Soweit habe ich das ganze gerafft aber leider kann ich es nicht umsetzen.


Ich bitte um weitere Hilfe.
03/15/2010 21:48 Nosferatu.#4
Quote:
Originally Posted by Ethagar View Post
die Datenbank ja garnicht von wem sie die IP ändern soll.
PHP Code:
$mContactIP=SERVER["remote_addr"];
$mName="Mustermann";

mysql_query("UPDATE my_links SET mContactIP='".$mContactIP."' WHERE mName='".$mName."'") or die('Is uns nicht bekannt.');