Formular ruft Script zweimal auf

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

  • Formular ruft Script zweimal auf

    Hi.

    Hab ein Formular welches Daten an ein PHP-Script postet und dieses dann die Daten in eine SQL Datenbank klatscht.

    Die ganze Zeit hatte ich das Problem dass 2 Einträge in der DB erfolgt sind.
    Einmal mit allen Daten vom Formular und einmal komplett ohne Daten.

    Dann bin ich auf die glorreiche Idee gekommen die Daten nur an die SQL zu übergeben wenn auch wirklich welche da sind.
    Also !empty($_POST) :-P

    PHP-Code:
    if($_GET['action'] == 'save' && !empty($_POST)) 
    Alles wunderbar. Nur noch ein Eintrag inklusivre aller Daten.

    Nun muss es ja daran gelagen haben dass das PHP Script zwei mal aufgerufen wurde.

    Wie kann sowas möglich sein???
    Bzw woran kann so etwas liegen???

    PHP-Code:
     <form action="?site=offer/create&action=save" method="post" name="create" enctype="multipart/form-data" target="_self"
    ^^ daran ja wohl nich

  • #2
    Da bräuchte ich schon etwas mehr code, z.B. die SQL-Query etc.!

    Kommentar


    • #3
      http://www.php-resource.de/forum/sho...threadid=60024

      wird echt am letzten donnerstag im monat liegen...

      Kommentar


      • #4
        Original geschrieben von ExInfernis
        Da bräuchte ich schon etwas mehr code, z.B. die SQL-Query etc.!
        Bist du dir da sicher???
        Naja wenn du willst dann bitte.

        PHP-Code:
        ## Formulardaten direkt in SQL

        define(db_pre$db_pre);

        class 
        formtomysql extends mysqlconnection
        {

        var 
        $db_pre=db_pre;

            function 
        delarraybykey($array$key
                {
                     
        $key_index array_keys(array_keys($array), $key);
                    if (
        count($key_index) != '') {
                    
        array_splice($array$key_index[0], 1);}
                    return 
        $array;
                 }
            
            function 
        input($_POST)
                {
                    
        $key_index array_keys(array_keys($_POST), "submit");
                    if (
        count($key_index) != '') {
                    
        array_splice($_POST$key_index[0], 1);}
                    
        $keys array_keys($_POST);
                    
        $values array_values($_POST);
                    for(
        $x=0;$x<count($_POST);$x++) {
                    
        $this->key_chache[$x] = $keys[$x]; $this->value_chache[$x] = $values[$x];}
                }
                
            function 
        insert($tab)
                {
                    
        $k 0;
                    
        $v 0;
                    
        $countk count($this->key_chache);
                    
        $countv count($this->value_chache);
                    while(
        $countk $k){
                    if(
        $k $countk){
                    
        $kstring .= "".$this->key_chache[$k].", "$k++;}
                    if(
        $k == $countk-1) {
                    
        $kstring .= "".$this->key_chache[$k].""$k++;}}
                    while(
        $countv $v) {
                    if(
        $v $countv) {
                    
        $vstring .= "'".$this->value_chache[$v]."', "$v++;}
                    if(
        $v == $countv-1){
                    
        $vstring .= "'".$this->value_chache[$v]."'"$v++;}}
                    echo 
        "INSERT INTO ".$this->db_pre."_".$tab." (".$kstring.") VALUES (".$vstring.")";
                    
        $query=$this->query("INSERT INTO ".$this->db_pre."_".$tab." (".$kstring.") VALUES (".$vstring.")");
                }
                
            function 
        update($tab$id)
                {
                    
        $m 0;
                    
        $count count($this->key_chache);
                    while(
        $count $m) {
                    if(
        $m $count) {
                    
        $string .= "".$this->key_chache[$m]." = '".$this->value_chache[$m]."', "$m++;}
                    if(
        $m == $count-1) {
                    
        $string .= "".$this->key_chache[$m]." = '".$this->value_chache[$m]."'"$m++;}}
                    
        $query=$this->query("UPDATE ".$this->db_pre."_".$tab." SET $string WHERE id = '$id'");}
                }

        $formtomysql = new formtomysql(); 

        ^^ ich weis es is konfus und durcheinander

        Ich ruf in meinem Script nur die Funktion input auf und übergeb dieser Funktion noch $_POST, und danach ruf ich die Funktion insert auf und teil der mit in welche DB es soll, und den Rest naja siehe selbst.....

        PHP-Code:
        if($_GET['action'] == 'save' && !empty($_POST))
                {
                    
        $formtomysql->input($_POST);
                    
        $formtomysql->insert('offer');
                        } 
        Mittlerweile funktioniert es ja dank !empty($_POST)...

        Kommentar

        Lädt...
        X