Ankündigung

Einklappen
Keine Ankündigung bisher.

Kleines CMS (Problem bei DB-Änderung mit SQL Befehlen)

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kleines CMS (Problem bei DB-Änderung mit SQL Befehlen)

    Hallo zusammen, ich bin gerade dabei ein kleines CMS aufzubauen, jedoch bleibe ich an einem Punkt hängen.
    Ich will mit der ersten PHP Datei per Formular eine änderung an die 2. PHP Datei schicken, diese wiederum soll Sie in der Datenbank abändern.
    Ich bekomme ich bei Zeile 22 & 23 in der 2. PHP einen Fehler, ich finde jedoch keine mögliche Ursache. Alle Variablen & Syntaxen stimmen, auch die Datenbank funktioniert tadelos.

    Der Fehler kommt bei:
    PHP-Code:
    <?php
    $id 
    $_POST ['grID'];
    $beruf $_POST ['grBeruf'];

    (Formularänderung) PHP1:
    PHP-Code:
    <?php
    $servername 
    'localhost';
    $user 'root';
    $pass '';
    $dbname 'test';

    //create a connection
    $conn = new mysqli(  $servername$user$pass$dbname);

    //check connection
    if( $conn ->connect_error){
        die ( 
    "connection failed: ".$conn->connect_error);


    }else{
        echo 
    "Succses!";
    }
    ?>
    <?php
      
    //*********************Select
      
    $select "SELECT * FROM gruppe WHERE grID = 1317;";
      
    $result mysqli_query($conn$select);

      if(
    mysqli_num_rows ($result) >){
        echo 
    "<table border = 1><th> grID</th><th> grBeruf</th><th> wort</th> <th> grKl</th>";
        
    //*******Jede Zeile muss ausgegeben werden.
        
    while($row mysqli_fetch_assoc($result) ){
            echo
    "<tr> <td>"$row["grID"] ."</td> <td>"$row["grBeruf"] ."</td> <td>"$row["wort"] ."</td> <td>"$row["grKlas"] ."</td></tr>";

        } 
    //(while)Solange die Zeile in if ausgegeben wird und aus $result kommt, schreibe Zeile in Tabelle
        
    echo "</table>";

      }else{
      echo 
    "Kein Ergebnis. ";

      }


    ?>
    <?php

    //****************Select    
        
    $select "SELECT * from gruppe";
        
    $result mysqli_query($conn$select);
     
    //**************
     
    if (mysqli_num_rows($result) >0){
       while (
    $row mysqli_fetch_assoc($result)){
             
    $id $row["grID"];
             
    $beruf $row["grBeruf"];

       }
     }else{
         echo 
    "keine Zeile!";
     }

    ?>
    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="utf-8" />
            <title></title>
        </head>
        <body>
           <form method="post" action="senttodb.php">
             ID: <input type="text" name=" id" value="<?=  $id?>"/> <br><br>  
               Beruf: <input type="text" name=" Beruf" value="<?php echo $beruf?>"/>  
                <input type="submit" value="send"/>
           </form>
        </body>
    </html>

    <?php
    mysqli_close
    ($conn);    

    ?>

    SendtoDB PHP2:

    PHP-Code:
    <?php
    $servername 
    'localhost';
    $user 'root';
    $pass '';
    $dbname 'test';

    //create a connection
    $conn = new mysqli(  $servername$user$pass$dbname);

    //check connection
    if( $conn ->connect_error){
        die ( 
    "connection failed: ".$conn->connect_error);


    }else{
        echo 
    "Succses!";
    }    

    ?>

    <?php
    $id 
    $_POST ['grID'];
    $beruf $_POST ['grBeruf'];

    ?>

    <?php
    echo "grID =".$id;
    echo 
    "grBeruf =".$beruf;    

    ?>

    <?php
    $update 
    "UPDATE gruppe SET grBeruf = '$beruf' WHERE grID = $id; ";    
    $ok mysqli_query($conn$update);
    if(
    $ok == TRUE){
        echo 
    "Update erfolgreich";
    }else {
        echo 
    "Fehler";
    }

    mysqli_close($conn);

    ?>

    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="utf-8" />
            <title></title>
        </head>
        <body>

        </body>
    </html>


  • #2
    Und welchen Fehler Du bekommst, bleibt ein Geheimnis?
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche Tutorials

    Kommentar


    • #3
      PHP-Code:
      <form method="post" action="senttodb.php">
               ID: <input type="text" name=" id" value="<?=  $id?>"/> <br><br>  
                 Beruf: <input type="text" name=" Beruf" value="<?php echo $beruf?>"/>
      Du darfst das Attribut name nicht leer lassen, das sind schliesslich die Schlüsselbezeichnungen der Parameter die du mit $_POST erhältst.
      id" ist nicht sehr sinnvoll, wenn du die nicht benötigst, dann einfach weglassen.

      Kommentar


      • #4
        Ich glaube das ist einfach ein Leerzeichen vor id, also der Name des Inputs ist id. Das Leerzeichen braucht es dort aber natürlich nicht.

        Kommentar


        • #5
          Ach so, das ist natürlich ebenso schlecht, weil ja 'grID'erwartet wird.

          Kommentar


          • #6
            Danke für eure Antworten, ich werde es morgen mal testen und hier nochmals kommentieren.

            Kommentar

            Lädt...
            X