Durch PHP in Mysql Datenbank Name oder IP ändern

funnykilla

Grünschnabel
Hallo 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.

ich blick da nich durch bin neu bei php ^^
PHP:
<?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 hoffe ihr könnt mir helfen
 
Hallo und willkommen.

Dein Datenbank-Query zum updaten ist fehlerhaft:

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

Müsste aber ungefähr so lauten:

PHP:
 $aendern   =   "UPDATE my_links Set mContactIP = '".$mContactIP."'  WHERE mName='".$_GET["mName"]."'";

Außerdem hast du vergessen, den Query an die Datenbank zu senden:

PHP:
  $aendern   =   "UPDATE my_links Set mContactIP = '".$mContactIP."'  WHERE mName='".$_GET["mName"]."'"; 
mysql_query( $aendern );


Zum anderen wäre noch zu sagen, das man eine Fehleranzeige einbauen sollte. Das hilft einem gerade dann, wenn man noch nicht so fest in der Materie ist:

PHP:
mysql_query( $aendern)  or die( mysql_error() );

Das kannst du immer hinter mysql_query() schreiben, um sofort zu sehen, ob der Query schuld daran ist, das es nicht funktioniert.

Außerdem hätte ich noch anzumerken, das es gefährlich ist, Daten aus einem Benutzer-Formular ungeprüft in die Datenbank zu schreiben. Daher solltest du die Daten wenigstens elementar schützen:

PHP:
       $mName             =   mysql_real_escape_string( $_GET["mName"] );
       $mContactIP      =   mysql_real_escape_string( $_POST["mContactIP"] );
 
nachdem ich es geändert habe und noch 3 Sachen gefunden habe die falsch waren geht nun das Eingabefenster auf wenn ich da den Namen reinschreibe und die neue ip steht da das es in die db eingetragen wird das wird nur leider nicht gemacht das Skript schaut nun so aus
PHP:
<?php
    include("config_common.php");
         /*Variablen zum Einfügen der Daten in die Datenbank*/
       $mName             =   mysql_real_escape_string( $_GET["mName"] );
       $mContactIP      =   mysql_real_escape_string( $_POST["mContactIP"] );
       

         $aendern   =   "UPDATE gmlist Set mContactIP = '".$mContactIP."'  WHERE mName='".$_GET["mName"]."'";
		 mysql_query( $aendern)  or die( mysql_error() );

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

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

                                     <table> 
									 <tr>                                  
									 <td class='content'>Name:</td>                                   
									 <td><input value='$result->head' class='fields' name='mName' type='text'></td>
									 </tr>  
									                           
									 <tr>
									 <td class='content'>IP ändern</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>
 
Zuletzt bearbeitet:
Zurück