Pert Form Datensatz bearbeiten

Hibi

Grünschnabel
Huhu,

//EDIT:
Habe ausversehen Pert statt Per in der Überschrift geschrieben :-(
//

ich bin ein neuling was PHP und MySQL angeht....
Ich habe eine Page für eine Fußballmanschaft gemacht.

Nun habe ich vor, als erstes MySQL Projekt, die Tabelle der Torstatisiken per MySQL ausgeben zu lassen.

Die Ausgabe sieht nun auch gut aus. :-)

Für jeden Spieler ist ein Datensatz angelegt mit Name, Tore für Punktspeile, Pokalspiele und Testspiele/Tuniere.

Ich habe nun vor ein kleines Adminpanel zu bauen in der man per Dropdown einen Spieler auswählt und man dann die jewiligen Tore in 3 Textfeldern anzeigen lassen kann.

Also wie folgt:

Ich gehe ins Adminpanel -> Wähle den jeweiligen Spieler aus -> Bekomme die Tore angezeigt -> ändere Tore (z.B. von 3 auf 5 Tore) -> Abschicken

Der Update soll dann beim nächsten öffnen der Übersicht akutalisiert sein.

Habe dann versucht mich schlau zu machen und habe ein ähnlich Funktionierenedes Skript ausgewählt und für meine Anforderungen angepasst.

Doch bekomme ich nur einen Fehler.

Kann mir jemand weiterhelfen? Wo liegt denn das Problem? Sitz nun seit 4 Stunden an dem Adminpanel. :-(

Code:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /var/kunden/webs/myreflex/TestDB/adminpanel2.php on line 36

Hier der Code:

PHP:
<?php 
   
    error_reporting(E_ALL);

    include 'config.php';
	
    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

         /*Variablen zum Einfügen der Daten in die Datenbank*/ 
      $Name        			 =   $_POST["Name"]; 
      $Punktspiele      	 =   $_POST["Punktspiele "]; 
      $Pokalspiele       	 =   $_POST["Pokalspiele"]; 
      $TestspieleTuniere   	 =   $_POST["TestspieleTuniere"]; 


         $aendern   =   "UPDATE Tore Set Name = ".$Name.", Name = ".$Punktspiel.", Name = ".$Punktspiel.", Pokalspiele  = ".$Pokalspiele .", TestspieleTuniere  = ".$TestspieleTuniere ."";

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

         $abfrage = "SELECT * FROM Tore WHERE id = 1"; 
         $result = mysql_query($abfrage); 
         while ($row = mysql_fetch_object($result)) 
      if(!($_POST['ok'])) 
                    { 
                  echo " 

                                         <table> 
                     <tr> 
                           <td colspan='2'></td> 
                     </tr> 
                     <tr> 
                           <td class='content'>Name</td> 
                           <td><select name="Name" id="Name" value="'.$row['Name'].'">
                           </select>
                           </td> 
                     </tr>
                     <tr>
                       <td>Punktspiel</td>
                       <td><input value='.$row['Punktspiel'].' class='fields' name='Punktspiel' /></td>
                     </tr>
                     <tr>
                       <td>Pokalspiel</td>
                       <td><input value='.$row['Pokalspiel'].' class='fields' name='Pokalspiel' /></td>
                     </tr>
                     <tr>
                       <td>Testspiel/Tuniere</td>
                       <td><input value='.$row['TestspielTuniere'].' class='fields' name='TestspielTuniere' /></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($Name) <1) $error = 1; 
                        if(strlen($Punktspiel)  <1) $error = 1; 
                        if(strlen($Pokalspiel)  <1) $error = 1; 
                        if(strlen($TestspielTunier) <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://www.my-reflex.net/TestDB/admincenter2.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>

Gruß Hibi
 
Hallo würde sagen hier

PHP:
$aendern   =   "UPDATE Tore Set Name = ".$Name.", Name = ".$Punktspiel.", Name = ".$Punktspiel.", Pokalspiele  = ".$Pokalspiele .", TestspieleTuniere  = ".$TestspieleTuniere ."";

änderes es hier

PHP:
$aendern   =   "UPDATE Tore Set Name = ".$Name.", Punktspiele = ".$Punktspiele.", Punktspiel = ".$Punktspiel.", Pokalspiele  = ".$Pokalspiele .", TestspieleTuniere  = ".$TestspieleTuniere ." ";

und hier

PHP:
echo '

                                         <table> 
                     <tr> 
                           <td colspan="2"></td> 
                     </tr> 
                     <tr> 
                           <td class="content">Name</td> 
                           <td><select name="Name" id="Name" value="'.$row['Name'].'">
                           </select>
                           </td> 
                     </tr>
                     <tr>
                       <td>Punktspiel</td>
                       <td><input value='.$row['Punktspiel'].' class="fields" name="Punktspiel" /></td>
                     </tr>
                     <tr>
                       <td>Pokalspiel</td>
                       <td><input value='.$row['Pokalspiel'].' class="fields" name="Pokalspiel" /></td>
                     </tr>
                     <tr>
                       <td>Testspiel/Tuniere</td>
                       <td><input value='.$row['TestspielTuniere'].' class="fields" name="TestspielTuniere" /></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> 

                                         ';
 
Erstmal vielen Dank für die Rasend Schnelle Antwort mit Fehlerbehebungsvorschlag :-)

Habe mal die Änderungen eingetragen.

Nun bekomme ich einen andren Fehler, dass dieses Script meine Variablen(Tabellen oder Zeilen) nciht findet oder kennt:

Code:
Notice: Undefined index: Name in /var/kunden/webs/myreflex/TestDB/adminpanel2.php on line 11

Notice: Undefined index: Punktspiele in /var/kunden/webs/myreflex/TestDB/adminpanel2.php on line 12

Notice: Undefined index: Pokalspiele in /var/kunden/webs/myreflex/TestDB/adminpanel2.php on line 13

Notice: Undefined index: TestspieleTuniere in /var/kunden/webs/myreflex/TestDB/adminpanel2.php on line 14

Notice: Undefined variable: Punktspiel in /var/kunden/webs/myreflex/TestDB/adminpanel2.php on line 17

Notice: Undefined index: ok in /var/kunden/webs/myreflex/TestDB/adminpanel2.php on line 26

Fatal error: Cannot use object of type stdClass as array in /var/kunden/webs/myreflex/TestDB/adminpanel2.php on line 36

Zeile 11 + Zeile 12 + Zeile 13 + Zeile 14:

PHP:
      $Name        			 =   $_POST["Name"]; 
      $Punktspiele      	 =   $_POST["Punktspiele "]; 
      $Pokalspiele       	 =   $_POST["Pokalspiele"]; 
      $TestspieleTuniere   	 =   $_POST["TestspieleTuniere"];

Zeile 17:

PHP:
         $aendern   =   "UPDATE Tore Set Name = ".$Name.", Punktspiele = ".$Punktspiele.", Punktspiel = ".$Punktspiel.", Pokalspiele  = ".$Pokalspiele .", TestspieleTuniere  = ".$TestspieleTuniere ." ";

Zeile 26:

PHP:
 if(!($_POST['ok']))

Nun bin ich wiedermal überfragt... :-(

Gruß ein trauriger Hibi
 
PHP:
<?php  
    
    error_reporting(E_ALL); 

    include 'config.php'; 
     
    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error()); 
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error()); 

         /*Variablen zum Einfügen der Daten in die Datenbank*/  
      $Name                     =   $_POST['Name'];  
      $Punktspiele           =   $_POST['Punktspiele'];  
      $Pokalspiele            =   $_POST['Pokalspiele'];  
      $TestspieleTuniere        =   $_POST['TestspieleTuniere'];  


         $aendern   =   "UPDATE Tore Set Name ='".$Name."', Punktspiele =".$Punktspiele.", Pokalspiele  =".$Pokalspiele .", TestspieleTuniere  =".$TestspieleTuniere; 

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

         $abfrage = "SELECT * FROM Tore WHERE id = 1";  
         $result = mysql_query($abfrage);  
         while ($row = mysql_fetch_object($result))  
      if(!$_POST['ok'])  
                    {  
                  echo ' 

                                         <table>  
                     <tr>  
                           <td colspan="2"></td>  
                     </tr>  
                     <tr>  
                           <td class="content">Name</td>  
                           <td><select name="Name" id="Name" value="'.$row['Name'].'"> 
                           </select> 
                           </td>  
                     </tr> 
                     <tr> 
                       <td>Punktspiel</td> 
                       <td><input value='.$row['Punktspiel'].' class="fields" name="Punktspiel" /></td> 
                     </tr> 
                     <tr> 
                       <td>Pokalspiel</td> 
                       <td><input value='.$row['Pokalspiel'].' class="fields" name="Pokalspiel" /></td> 
                     </tr> 
                     <tr> 
                       <td>Testspiel/Tuniere</td> 
                       <td><input value='.$row['TestspielTuniere'].' class="fields" name="TestspielTuniere" /></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> 
			   </form> 


                                         ';  
               }  
            else if($_POST['ok'])  
               {  
                        if(strlen($Name) <1) $error = 1;  
                        if(strlen($Punktspiel)  <1) $error = 1;  
                        if(strlen($Pokalspiel)  <1) $error = 1;  
                        if(strlen($TestspielTunier) <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://www.my-reflex.net/TestDB/admincenter2.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!";  
                     }  
               }  
?>
 
Habe nun mal deinen Code eingefügt und sofort getestet.

Leider keine Besserung... :-|

Mhm hat vielleicht noch jemand eine Idee?
Hab ich die Datenbank richti eingebunden?

Also die Config PHP ist okay, das weiß ich :-)


Gruß Hibi
 
Sooo :-)

Habe selbst nun wieder was geändert und nun bekomme ich nur noch einen fehler :-)

Code:
Parse error: syntax error, unexpected T_STRING, expecting ']' in /var/kunden/webs/myreflex/TestDB/adminpanel.php on line 17

Zeile 17:
PHP:
         $aendern   =   "UPDATE Tore Set Name ='.$Name.', Punktspiele ='.$Punktspiele.', Pokalspiele  ='.$Pokalspiele.', TestspieleTuniere  ='.$TestspieleTuniere.';

Hab ich mich mal wieder selbst drin versucht... Die Zeile macht mir glaub zu schaffen :-)

Wenn es hilft zur fehlerbehebung:
Name = TEXT
Die restlichen 3 sind INT's

Gruß Hibi
 
Zuletzt bearbeitet:
So hier einmal die Struktur:


Hier klicken


Und der Code noch dazu :-)

PHP:
<?php   
     
    error_reporting(E_ALL);  

    include 'config.php';  
      
    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error());  
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());  

         /*Variablen zum Einfügen der Daten in die Datenbank*/   
      $Name                     =   $_POST['Name'];   
      $Punktspiele           =   $_POST['Punktspiele'];   
      $Pokalspiele            =   $_POST['Pokalspiele'];   
      $TestspieleTuniere        =   $_POST["'TestspieleTuniere'];   

$aendern   =   "UPDATE Tore Set Name ='.$Name.', Punktspiele ='.$Punktspiele.', Pokalspiele  ='.$Pokalspiele.', TestspieleTuniere  ='.$TestspieleTuniere.';  

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

         $abfrage = "SELECT * FROM Tore WHERE id = 1";   
         $result = mysql_query($abfrage);   
         while ($row = mysql_fetch_object($result))   
      if(!$_POST['ok'])   
                    {   
                  echo '  

                                         <table>   
                     <tr>   
                           <td colspan="2"></td>   
                     </tr>   
                     <tr>   
                           <td class="content">Name</td>   
                           <td><select name="Name" id="Name" value="'.$row['Name'].'">  
                           </select>  
                           </td>   
                     </tr>  
                     <tr>  
                       <td>Punktspiel</td>  
                       <td><input value='.$row['Punktspiele'].' class="fields" name="Punktspiel" /></td>  
                     </tr>  
                     <tr>  
                       <td>Pokalspiel</td>  
                       <td><input value='.$row['Pokalspiele'].' class="fields" name="Pokalspiel" /></td>  
                     </tr>  
                     <tr>  
                       <td>Testspiel/Tuniere</td>  
                       <td><input value='.$row['TestspieleTuniere'].' class="fields" name="TestspielTuniere" /></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>  
               </form>  


                                         ';   
               }   
            else if($_POST['ok'])   
               {   
                        if(strlen($Name) <1) $error = 1;   
                        if(strlen($Punktspiele)  <1) $error = 1;   
                        if(strlen($Pokalspiele)  <1) $error = 1;   
                        if(strlen($TestspieleTuniere) <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://www.my-reflex.net/TestDB/adminpanel.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!";   
                     }   
               }   
?>

Vielleicht siehst ja noch mehr als ich :-)

Gruß Hibi
 
als Erstes ändere bitte den Spaltennamen "Testspiel Turniere". Leerzeichen führen immer zu Problemen. also z.B. "TestspielTurniere". so dan schaue ich mal weiter ;)
sorry das ist kein Leerzeichen dazwischen :)
 
Zuletzt bearbeitet von einem Moderator:
hier mal ein workspace deines Problem, schaue auf die Änderungen.
PHP:
<?php   
  error_reporting(E_ALL);  
  include 'config.php';  
      
  $conn = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
  if (!$conn) {
    die('keine Verbindung möglich: ' . mysql_error());
  }  
  // benutze Datenbank myreflexsql
$db_selected = mysql_select_db('myreflexsql', $conn);
if (!$db_selected) {
    die ('Kann myreflexsql nicht benutzen : ' . mysql_error());
}

  /*Variablen zum Einfügen der Daten in die Datenbank*/   
  $Name                     =   $_POST['Name'];   
      $Punktspiele           =   $_POST['Punktspiele'];   
      $Pokalspiele            =   $_POST['Pokalspiele'];   
      $TestspieleTuniere        =   $_POST['TestspieleTuniere'];   

$aendern   =   "UPDATE Tore Set Name ='.$Name.', Punktspiele ='.$Punktspiele.', Pokalspiele  ='.$Pokalspiele.', TestspieleTuniere  ='.$TestspieleTuniere.' ";  

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

         $abfrage = "SELECT * FROM Tore WHERE id = 1";   
         $result = mysql_query($abfrage);   
         while ($row = mysql_fetch_object($result))   
      if(!$_POST['ok'])   
                    {   
                  echo '  

                                         <table>   
                     <tr>   
                           <td colspan="2"></td>   
                     </tr>   
                     <tr>   
                           <td class="content">Name</td>   
                           <td><select name="Name" id="Name" value="'.$row['Name'].'">  
                           </select>  
                           </td>   
                     </tr>  
                     <tr>  
                       <td>Punktspiel</td>  
                       <td><input value='.$row['Punktspiele'].' class="fields" name="Punktspiel" /></td>  
                     </tr>  
                     <tr>  
                       <td>Pokalspiel</td>  
                       <td><input value='.$row['Pokalspiele'].' class="fields" name="Pokalspiel" /></td>  
                     </tr>  
                     <tr>  
                       <td>Testspiel/Tuniere</td>  
                       <td><input value='.$row['TestspieleTuniere'].' class="fields" name="TestspielTuniere" /></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>  
               </form>  


                                         ';   
               }   
            else if($_POST['ok'])   
               {   
                        if(strlen($Name) <1) $error = 1;   
                        if(strlen($Punktspiele)  <1) $error = 1;   
                        if(strlen($Pokalspiele)  <1) $error = 1;   
                        if(strlen($TestspieleTuniere) <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://www.my-reflex.net/TestDB/adminpanel.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!";   
                     }   
               }   
?>
 
Zuletzt bearbeitet von einem Moderator:
Zurück