Hilfe für Schulprojekt

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

  • Hilfe für Schulprojekt

    Hi,

    also zuerst einmal ich bin noch ein Anfänger, was PHP und MySQL betrifft, drum bitte ich darum keine blöden Bemerkungen, wenn mein 'Fall' mehr als nur einfach zu beantworten ist!

    Folgendes ist mein Problem:
    Wir machen im Unterricht eine Kundenverwaltung. Mit Radiobuttons (anzeigen, einfügen, ändern, löschen). Ich hänge irgendwie bei einfügen.
    Mein Insert-Befehl ist vom Syntax her richtig! Ich weiß nur nicht, wie ich alles an die DB übergeben soll (ich weiß von mysql_query)!

    Wenn man den Radiobutton 'einfügen' anklickt, kommt die Seite kunde.php mit den jeweiligen Feldern (kid, name, vorname, umsatz) und einem Button 'Datensatz hinzufügen'.

    Was muss ich bei 'form action=' hinschreiben, damit er es an die DB überträgt, wenn man auf den Button klickt?

    Ich hab schon einiges ausprobiert, bin aber auf keinen grünen Zweig gekommen. HILFE!

    Gruß Lettizia

  • #2
    Poste mal etwas Code, damit wir sehen wo der Schuh drückt.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      PHP-Code:
      <?php
          $ekid 
      $HTTP_POST_VARS["eingabe"];
          
      $mydb mysql_connect("localhost""user""passwort");
          if (!
      mydb) die ("Es konnte keine Verbindung hergestellt werden!");
          
      mysql_select_db("kunde"$mydb) or die ("Es konnte keine Verbindung hergestellt werden!");

      // AKTION anzeigen Anfang

          
      if($aktion == "anzeigen")
          {
              if(
      $eingabe!="")
              {
                  
      $sql "Select * From tkunde where kid = $ekid";
                  
      $zeilen mysql_query ($sql$mydb);
                    
                  if (
      mysql_num_rows($zeilen) == 0)
                  {
                      echo (
      "Kunde mit der Nummer $ekid nicht in der Datenbank vorhanden!");                        
                  }
                  else
                  {
                      
      $zeile mysql_fetch_assoc($zeilen);
                      echo (
      "Kundennummer: $zeile[kid]<br>");
                      echo (
      "Name: $zeile[name] <br>");
                      echo (
      "Vorname: $zeile[vorname] <br>");
                      echo (
      "Umsatz: $zeile[umsatz] <br>");
                  }
              }
                           
              else
              {
                  echo(
      "Bitte Kundennummer eingeben!");
              }
          }
          
      // Aktion anzeigen Ende

      //Aktion einfügen Anfang

         
      if($aktion == einfuegen)
           {
             
      $tabellenname "tkunde";
               echo 
      "<h1>Kundendatensatz hinzufügen</h1>";
               [
      B]echo "<form action=echo('$PHP_SELF') method=post>";[/B//?
              
      echo "<table><tr><td>";
               echo 
      "Kundennummer: <input type=text name='kid' <br><br></td></tr>";
               echo 
      "<tr><td>";
               echo 
      "Name: <input type=text name='name' <br></td></tr>";
               echo 
      "<tr><td>";
               echo 
      "Vorname: <input type=text name='vorname' <br></td></tr>";
               echo 
      "<tr><td>";
               echo 
      "Umsatz: <input type=text name='umsatz' <br></td></tr>";
               echo 
      "</table>";
               echo 
      "<input type=submit value='Datensatz hinzufügen'>";
               
      $i_sql "Insert into $tabellenname(kid, name, vorname, umsatz) values('', '$name', '$vorname', '$umsatz')";
      //         mysql_insert_id(['kid']);
               
      mysql_query($sql,$mydb);
           }

      // Aktion einfügen Ende

      // Aktion ändern Anfang
      // Aktion ändern Ende

      // Aktion löschen Anfang
      // Aktion löschen Ende
      ?>
      EDIT:
      php.tags presented by Abraxax
      Zuletzt geändert von lettizia; 18.06.2003, 22:09.

      Kommentar


      • #4
        mache mal aus
        PHP-Code:
        [B]echo "<form action=echo('$PHP_SELF') method=post>";[/B//? 
        das hier
        PHP-Code:
        echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
        // oder ältere schreibweise
        echo '<form action="'.$HTTP_SERVER_VARS['PHP_SELF'].'" method="post">'

        ps. vergiss nicht die php-tags beim posten von code.

        pps. *VERSCHIEB* nach projekthilfe.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          $php_self

          Hallo,

          hab wie Letticia ebenfalls ein Problem mit dem Selbstverweis auf die eigene
          Seite.

          Das Skript soll ein sql-Statement entgegen nehmen und die Abfrage an die Datenbank weiterleiten. Datenbankabfrage und Wertausgabe klappen auch wunderbar, aber der Selbstverweis haut ums ver... nicht hin.

          (php 4.3.2, register globals = off)

          PHP-Code:
          $testurl $_SERVER['PHP_SELF'];

          if(!isset(
          $set))
              {
              echo 
          '<form action="' $testurl '" method="post">';
              echo 
          "SQL-Statement: ";
              echo 
          "<input type=\"text\" size=\"50\" name=\"sql\"><p>\n";
              echo 
          "<input type=\"hidden\" value=\"TRUE\" name=\"set\">\n";
              echo 
          "<input type=\"submit\" value=\"Suchen...\"><p>\n";
              }
            else 
          Zwar kommt keine Fehlermeldung und bei echo $testurl wird auch schön die Adresse ausgegeben (z.B. /test/datei.php), aber das Skript spring nicht in den else-Zweig. Erst wenn ich !isset() ändere in isset() wird der Zweig aufgerufen (ist ja auch irgendwie logisch).
          Warum setzt mir mein Skript die Variable set nicht?

          Bitte helft mir!

          Gruß hardy245


          EDIT:
          php.tags by Abraxax
          Zuletzt geändert von Abraxax; 18.08.2003, 22:56.

          Kommentar


          • #6
            du darfst nicht $set nehmen, sondern musst $_POST['set'] verwenden.


            auch solltest du die angewöhnen die php.tags zu verwenden, wenn du code postest.
            Zuletzt geändert von Abraxax; 18.08.2003, 22:58.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Hallo abraxax,

              herzlichen Dank, dass du so schnell geantwortet hast. Ich war für ein paar Tage verreist, drum kann ich dir jetzt erst antworten.

              Leider hat dein Vorschlag nicht ganz den gewünschten Erfolg gehabt. Das Skript konnte ich problemlos aufrufen, aber beim Druck auf den absende-Button folgte folgende Fehlermeldung:

              Notice: Undefined index: set

              Vielleicht kannst du mir noch mal weiter helfen.

              Gruß Max

              Kommentar


              • #8
                ähm. wenn du sowieso auf isset() prüfst, wieso kommt die meldung? die darf dann nicht kommen.

                oder verwendest du das $_POST['set'] noch woanders, wo du nicht auf isset geprüft hast?
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  hallo abraxax,

                  da hast du vollkommen recht. Ich verwende set noch ein zweites Mal.
                  Vielleicht zum besseren Verständnis meines Problems:

                  Beim ersten Aufruf gehe ich ins erste IF-Konstrukt, set wird auf den Wert '0' gesetzt. Button "zur Befragung"

                  Dann kommt die ELSE-Bedingung. In der wird im zweiten IF-Konstrukt set mit einer Anzahl an Fragen verglichen. Die Anzahl der Fragen hole ich mir aus einer Datenbank, so dass die Umfrage leicht abänderbar bleibt.
                  set wird nun bei jedem Aufruf um eins hochgezählt.

                  PHP-Code:
                  if($set $questnmb)
                  {
                     
                  $set = ++$set;
                     echo 
                  "Das hier ist Frage " $set
                  Button "zur nächsten Frage"

                  Wird die letzte Frage erreicht, so werden die gesammelten Daten in eine Datenbank geschrieben.
                  Button "absenden"

                  Ich hoffe es war einigermaßen verständlich für dich.

                  Gruß Max
                  Zuletzt geändert von hardy245; 22.08.2003, 16:34.

                  Kommentar


                  • #10
                    wie du was machst, ist ja erst einmal egal.

                    du sollst nur isset() und $_POST verwenden, mehr habe ich nicht gesagt..
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar

                    Lädt...
                    X