Loading ...
Sorry, an error occurred while loading the content.

error inserting data from form

Expand Messages
  • laconpak1
    php code
    Message 1 of 7 , May 8, 2003
    • 0 Attachment
      php code

      <?php
      // áíïéãìá óõíäåóçò
      $conn = mysql_connect("localhost","root","") or die(mysql_error());

      // åðéëïãç âáóçò äåäïìåíùí
      mysql_select_db("mysql",$conn) or die(mysql_error());;

      // äçìéïõñãéá åñùôçìáôïò
      $sql = "insert into test_table values
      ('','$_POST[de1]','$_POST[item1]')";

      // åêôåëåóç åñùôçìáôïò
      mysql_query($sql,$conn);

      mysql_close($conn);
      ?>

      index.html

      <html>
      <head>
      <title> insert form</title>
      </head>
      <body>
      <form action="phpinfo.php" method=post>
      <p>text to add:<br>
      <input type=text name="de1" size=50><br>
      <input type=text name="item1" size=10><br>
      <input type=submit name="submit" value="insert record"></p>
      </form>
      </body>
      </html>

      can you inform where is the error ?

      thank you.
    • Papagelis Manos
      Try to use the form names (de1,item1) as variables without $_POST array. just write them with a $ in front. So write ... I have just added when declaring
      Message 2 of 7 , May 8, 2003
      • 0 Attachment
        Try to use the form names (de1,item1) as variables without $_POST array.
        just write them with a "$" in front. So write

        > $sql = "insert into test_table values
        > ('','$de1','$item1')";

        or you can try the following:

        > $sql = "insert into test_table values
        > ('','$_POST['de1']','$_POST['item1']')";

        I have just added "'" when declaring the variable name in $_POST[].

        Regards,

        M.P./

        On Thu, 8 May 2003, laconpak1 wrote:

        > php code
        >
        > <?php
        > // áíïéãìá óõíäåóçò
        > $conn = mysql_connect("localhost","root","") or die(mysql_error());
        >
        > // åðéëïãç âáóçò äåäïìåíùí
        > mysql_select_db("mysql",$conn) or die(mysql_error());;
        >
        > // äçìéïõñãéá åñùôçìáôïò
        > $sql = "insert into test_table values
        > ('','$_POST[de1]','$_POST[item1]')";
        >
        > // åêôåëåóç åñùôçìáôïò
        > mysql_query($sql,$conn);
        >
        > mysql_close($conn);
        > ?>
        >
        > index.html
        >
        > <html>
        > <head>
        > <title> insert form</title>
        > </head>
        > <body>
        > <form action="phpinfo.php" method=post>
        > <p>text to add:<br>
        > <input type=text name="de1" size=50><br>
        > <input type=text name="item1" size=10><br>
        > <input type=submit name="submit" value="insert record"></p>
        > </form>
        > </body>
        > </html>
        >
        > can you inform where is the error ?
        >
        > thank you.
        >
        >
        >
        > -
        > Ãéá íá äéáãñáöåßôå áðü ôç ëßóôá, óôåßëôå Ýíá email óôï:
        > To unsubscribe from this group, send an email to:
        >
        > php_greek-unsubscribe@yahoogroups.com
        >
        >
        >
        > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
        >
        >
        >
      • Dimitris Glezos
        Μερικές φορές η χρήση πινάκων μέσα σε εισαγωγικά δεν λειτουργεί καλά (δεν θυμάμαι που
        Message 3 of 7 , May 8, 2003
        • 0 Attachment
          Μερικές φορές η χρήση πινάκων μέσα σε "εισαγωγικά" δεν λειτουργεί καλά
          (δεν θυμάμαι που ακριβώς δεν μου δούλεψε). Από τότε όταν θέλω να βάλω σε
          ένα string ένα array cell, το κάνω ως εξής:

          $x = "foo".$arr["key"]."bar";

          Κατά τη γνώμη μου, θα ήταν καλύτερα να:

          Α) Αποθήκευες τις $_POST μεταβλητές σου σε τοπικές μεταβλητές του script.

          Β) Έκανες ΕΛΕΓΧΟ αν έχεις τα σωστά δεδομένα πριν το sql_query:
          http://www.php.net/manual/en/security.database.php

          Γ) Μετά από όλα αυτά να χρησιμοποιήσεις τις τοπικές μεταβλητές στην $sql.


          Δημήτρης


          On Thu, 8 May 2003, laconpak1 wrote:

          > php code
          >
          > <?php
          > // ανοιγμα συνδεσης
          > $conn = mysql_connect("localhost","root","") or die(mysql_error());
          >
          > // επιλογη βασης δεδομενων
          > mysql_select_db("mysql",$conn) or die(mysql_error());;
          >
          > // δημιουργια ερωτηματος
          > $sql = "insert into test_table values
          > ('','$_POST[de1]','$_POST[item1]')";
          >
          > // εκτελεση ερωτηματος
          > mysql_query($sql,$conn);
          >
          > mysql_close($conn);
          > ?>
          >
          > index.html
          >
          > <html>
          > <head>
          > <title> insert form</title>
          > </head>
          > <body>
          > <form action="phpinfo.php" method=post>
          > <p>text to add:<br>
          > <input type=text name="de1" size=50><br>
          > <input type=text name="item1" size=10><br>
          > <input type=submit name="submit" value="insert record"></p>
          > </form>
          > </body>
          > </html>
          >
          > can you inform where is the error ?
          >
          > thank you.
          >
          >
          >
          > -
          > Για να διαγραφείτε από τη λίστα, στείλτε ένα email στο:
          > To unsubscribe from this group, send an email to:
          >
          > php_greek-unsubscribe@yahoogroups.com
          >
          >
          >
          > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
          >
          >
          >


          -
          Department of Computer Engineering and Informatics
          University of Patras, Greece (ceid.upatras.gr)
          ICQ: 9295964, PGP: 0xA5A04C3B

          "He who gives up functionality for ease of use
          loses both and deserves neither." (Anonymous)
          -
        • Giannis Stoilis
          ... Συμφωνώ ότι θα πρέπει να κάνεις έλεγχο των τιμών των μεταβλητών σου για λόγους
          Message 4 of 7 , May 8, 2003
          • 0 Attachment
            > -----Original Message-----
            > From: Dimitris Glezos [mailto:glezos@...]
            > Sent: Thursday, May 08, 2003 8:12 PM
            > To: php_greek@yahoogroups.com
            > Subject: Re: [php_greek] error inserting data from form
            >
            > Μερικές φορές η χρήση πινάκων μέσα σε "εισαγωγικά" δεν λειτουργεί καλά
            > (δεν θυμάμαι που ακριβώς δεν μου δούλεψε). Από τότε όταν θέλω να βάλω σε
            > ένα string ένα array cell, το κάνω ως εξής:
            >
            > $x = "foo".$arr["key"]."bar";
            >
            > Κατά τη γνώμη μου, θα ήταν καλύτερα να:
            >
            > Α) Αποθήκευες τις $_POST μεταβλητές σου σε τοπικές μεταβλητές του script.
            >
            > Β) Έκανες ΕΛΕΓΧΟ αν έχεις τα σωστά δεδομένα πριν το sql_query:
            > http://www.php.net/manual/en/security.database.php
            >
            > Γ) Μετά από όλα αυτά να χρησιμοποιήσεις τις τοπικές μεταβλητές στην $sql.

            Συμφωνώ ότι θα πρέπει να κάνεις έλεγχο των τιμών των μεταβλητών σου για
            λόγους ασφαλείας, ΕΙΔΙΚΑ αν πρόκειτε για φόρμα που θα βρίσκεται στο Internet
            για τον καθένα. Στον Papagelis Manos να θυμίσω ότι οι τιμές από POST ή GET
            υπάρχουν σε local variable names ΜΟΝΟ αν είναι ενεργοποιημένη η παράμετρος
            register_globals της PHP. Η παράμετρος αυτή είναι από default
            απενεργοποιημένη στις νέες εκδόσεις της PHP. Γενικά, καλό είναι να μάθεις να
            χρησιμοποιείς τις super global variables. Θα σου φανεί χρήσιμο σε περίπλοκα
            προγράμματα.

            Επίσης, δύο σχόλια για το SQL format σου. Εγώ πάντα είμαι συγκεκριμένος στα
            fields που θα βάλω data. Δηλαδη:

            $sql = "insert into `test_table`(`field1`,`de1`,`item1`) values
            ('','$_POST[de1]','$_POST[item1]')";

            Ο λόγος είναι ότι αν αλλάξεις την δομή του πίνακά σου, δεν χρειάζεται να
            φτιάξεις το query από την αρχή.

            Δεύτερο, να γράφεις τα SQL commands με κεφαλαία, σε βοηθάει, σε περίπλοκα
            queries να τα ξεχωρίζεις άμεσα από table names.

            Τέλος, έβαλα την τελευταία PHP πριν μερικές εβδομάδες και γκρινιάζει να
            αναφερθώ σε array χωρίς quotes στο key:
            Σωστο: $var=$test[key1];
            Σωστότερο: $var=$test['key1'];

            Οπότε, να γράφεις έτσι. Σκάω τώρα, γιατί ξέφυγα. "Γιατί δεν δουλέυει;"
            ρώτησε ο άνθρωπος, όχι syntax guidelines....

            - Γιάννης Στοίλης
            giannis@...
          • Panagiotis Argiropedas
            Γεια σε όλους, Έχω ένα πρόβλημα του οποίου η λύση μάλλον είναι παιδιαριώδης, αλλά
            Message 5 of 7 , May 26, 2003
            • 0 Attachment
              Γεια σε όλους,
               
              Έχω ένα πρόβλημα του οποίου η λύση μάλλον είναι παιδιαριώδης, αλλά επίσης μάλλον, έχω κολλήσει...
               
              Στην προσπάθειά μου να εμφανίσω δεδομένα που έχω εισάγει σε μία φόρμα, ενώ η εισαγωγή δεδομένων έχει γίνει, παρόλα αυτά, δεν φαίνεται τίποτα.
               
              Μήπως θα πρέπει να αλλάξω κάτι στο php.ini;
               
              Η μέθοδος που έχω θέσει στη φόρμα είναι method="POST", action="scriptname.php"  και η προσπάθεια εμφάνισης δεδομένων γίνεται ως εξής:
               
              echo "Η τιμή του πεδίου είναι: $_POST ['<όνομα πεδίου κειμένου>']";
               
              Το μόνο που εμφανίζεται τελικά, είναι:
               
              "Η τιμή του πεδίου είναι: "
               
              Κάποιο λάθος συντακτικό δεν εξάγεται...
               
              Δοκίμασα και με method="GET", αλλά εμφανίστηκε το ίδιο πρόβλημα...
               
              Ευχαριστώ εκ των προτέρων,
               
              Αργυρόπαιδας Παναγιώτης



              Do You Yahoo!?
              Αποκτήστε την δωρεάν σας @... διεύθυνση στο Yahoo! Mail.
            • kar ant
              try th following code
              Message 6 of 7 , May 27, 2003
              • 0 Attachment
                try th following code

                <?php
                // ������� ��������
                $conn = mysql_connect("localhost","root","") or
                die(mysql_error());

                // ������� ����� ���������
                mysql_select_db("mysql",$conn) or
                die(mysql_error());

                // ���������� ����������
                $sql = "insert into test_table (descr,item_qtry)
                values ('$_POST[descr]','$_POST[item_qtry]')";

                // �������� ����������
                mysql_query($sql,$conn) or die(mysql_error());

                mysql_close($conn) or die(mysql_error());
                ?>

                __________________________________
                Do you Yahoo!?
                The New Yahoo! Search - Faster. Easier. Bingo.
                http://search.yahoo.com
              • Panagiotis Argiropedas
                Εντάξει το έλυσα το πρόβλημα, είχε να κάνει με κάποια αρχεία του φακέλου της PHP στο PHP
                Message 7 of 7 , May 27, 2003
                • 0 Attachment
                  Εντάξει το έλυσα το πρόβλημα, είχε να κάνει με κάποια αρχεία του φακέλου της PHP στο PHP Triad...
                   
                  Αντικατέστησα τον φάκελο αυτό με αυτόν που κατέβασα από το www.php.net και λύθηκε το πρόβλημα...



                  Do You Yahoo!?
                  Αποκτήστε την δωρεάν σας @... διεύθυνση στο Yahoo! Mail.
                Your message has been successfully submitted and would be delivered to recipients shortly.