Avatar billede alluc Nybegynder
14. august 2008 - 20:32 Der er 19 kommentarer

Fejlmelding i php?

Hej Eksperter,

Jeg får følgende fejl, når jeg forsøger at tilføje en ny træner igennem nedenstånde to filer:

Fejlen: Column count doesn't match value count at row 1

Opret.php
<?



if(!isset($_SESSION['admin'])) {

    include("login/admincheck.php");

} else {

   

    $type = $_GET['type'];


    echo "<form action='index.php?side=oprettraenernu&type=$type' method='post' enctype='multipart/form-data'>";

    echo "<b>Billede:</b><br /><input style='border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF' size='20' type='file' name='upfil' /><br /><br />";   

    echo "<b>Træner/Holdleder:</b><br /><input type='checkbox' name='traener' />Træner<br />";

    echo "<input type='checkbox' name='holdleder' />Holdleder<br /><br />";
   
    echo "<b>Holdoversigt:</b><br /><input type='checkbox' name='u9' />U9<br />";

    echo "<input type='checkbox' name='u11' />U11<br />";
   
    echo "<input type='checkbox' name='u13' />U13<br />";
   
    echo "<input type='checkbox' name='u15' />U15<br />";
   
    echo "<input type='checkbox' name='u17' />U17<br />";
   
    echo "<input type='checkbox' name='u19' />U19<br />";

    echo "<input type='checkbox' name='seniortur' />Senior Turnering<br />";

    echo "<input type='checkbox' name='seniormot' />Senior Motion<br />";

    echo "<input type='checkbox' name='ungdommot' />Ungdom Motion<br />";
   
    echo "<input type='checkbox' name='piger' />Pigetræning / V.I.Piger<br />";

    echo "<input type='checkbox' name='talent' />Talenttræning<br />";
   
    echo "<input type='checkbox' name='drenge' />Drengetræning / Boys only<br /><br />";

    echo "<b>Navn:</b><br /><input style='border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF' size='30' type='text' name='navn'><br /><br />";

    echo "<b>Adresse:</b><br /><input style='border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF' size='30' type='text' name='adresse'><br /><br />";

    echo "<b>Postnr. & By:</b><br /><input style='border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF' size='30' type='text' name='postby'><br /><br />";

    echo "<b>Telefonnr.:</b><br /><input style='border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF' size='30' type='text' name='tlf'><br /><br />";
   
    echo "<b>Mobilnr.:</b><br /><input style='border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF' size='30' type='text' name='mobil'><br /><br />";   
           
    echo "<b>E-mail:</b><br /><input style='border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF' size='30' type='text' name='mail'><br /><br />";
   
    echo "<b>Træner- / Holdlederstart:</b><br /><input style='border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF' size='30' type='text' name='start'><br /><br />";
   
    echo "<b>Beskrivelse:</b><br /><textarea style='border: 1px solid #000000; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF' name='beskrivelse' rows='8' cols='30'></textarea><br />";

    echo "<br/><input style='border: 1px solid #000000; padding-left: 1px; padding-right: 1px; padding-top: 1px; padding-bottom: 1px; background-color: #FFFFFF' type='submit' name='submit' value='Tilføj ny træner'>";

    echo "</form>";

}



?>

Opretnu.php
<?



if(!isset($_SESSION['admin'])) {

    include("login/admincheck.php");

} else {


$id = $_REQUEST['id'];

$type = $_GET['type'];

$arbejde = "";

If (isset($_REQUEST['traener'])) {

$arbejde = $arbejde . "Træner";

}

If (isset($_REQUEST['holdleder'])) {

$arbejde = $arbejde . "Holdleder";

}

$arbejde = $arbejde . $_REQUEST['arbejde'];

$hold = "";

If (isset($_REQUEST['u9'])) {

$hold = $hold . "U9";

}

If (isset($_REQUEST['u11'])) {

$hold = $hold . "U11";

}

If (isset($_REQUEST['u13'])) {

$hold = $hold . "U13";

}

If (isset($_REQUEST['u15'])) {

$hold = $hold . "U15";

}

If (isset($_REQUEST['u17'])) {

$hold = $hold . "U17";

}

If (isset($_REQUEST['u19'])) {

$hold = $hold . "U19";

}

If (isset($_REQUEST['seniortur'])) {

$hold = $hold . "Senior Turnering";

}

If (isset($_REQUEST['seniormot'])) {

$hold = $hold . "Senior Motion";

}

If (isset($_REQUEST['ungdommot'])) {

$hold = $hold . "Ungdom Motion";

}

If (isset($_REQUEST['piger'])) {

$hold = $hold . "Pigetræning / V.I.Piger";

}

If (isset($_REQUEST['talent'])) {

$hold = $hold . "Talenttræning";

}

If (isset($_REQUEST['drenge'])) {

$hold = $hold . "Drengetræning / Boys only";

}

$hold = $hold . $_REQUEST['hold'];

$navn = $_REQUEST['navn'];

$adresse = $_REQUEST['adresse'];

$postby = $_REQUEST['postby'];

$tlf = $_REQUEST['tlf'];

$mobil = $_REQUEST['mobil'];

$mail = $_REQUEST['mail'];

$start = $_REQUEST['start'];

$beskrivelse = $_REQUEST['beskrivelse'];

$upfil = $_REQUEST['upfil'];



    ///*** FIL START FIL START ***///

               

        function replace_string($ind_str){

            $soketter = array("æ","ø","å","Æ","Ø","Å"," ");

            $byttil = array("ae","oe","aa","AE","OE","AA","_");

            $tekst = str_replace($soketter,$byttil,$ind_str);

            return $tekst;

        }

        function resize( $filename, $newfilename, $maxw, $maxh ){

            $result = false;

            $srcim = imagecreatefromjpeg( $filename );

            $ow = imagesx( $srcim );

            $oh = imagesy( $srcim );

            $wscale = $maxw / $ow;

            $hscale = $maxh / $oh;

            $scale = ( $hscale < $wscale ? $hscale : $wscale );

            $nw = round( $ow * $scale, 0 );

            $nh = round( $oh * $scale, 0 );

            $dstim = imagecreatetruecolor( $nw, $nh );

            imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );

            $result = imagejpeg( $dstim, $newfilename, 85 );

            imagedestroy( $dstim );

            imagedestroy( $srcim );

            return $result;

        }

        if(isset($_POST['submit'])){

            if($_FILES["upfil"]["size"] > 0) {

            $konfiguration["upload_bibliotek"] = "./traenere/billeder";

            $konfiguration["max_stoerrelse"] = "10000";

           

            /* Hvor flytter vi fra og til */

            $fra = $_FILES["upfil"]["tmp_name"];

            $til = $konfiguration["upload_bibliotek"] . "/" . replace_string($_FILES["upfil"]["name"]);

            $til_t = $konfiguration["upload_bibliotek"] . "/thumb_" . replace_string($_FILES["upfil"]["name"]);

               

            /* Check PHP-version */

            list($major, $minor, $rev) = explode(".", phpversion());

            if($major < 4){

              die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");

              }

           

            /* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */

              if($minor < 1){

              $_FILES = $HTTP_POST_FILES;

            $_POST = $HTTP_POST_VARS;

            $_SERVER = $HTTP_SERVER_VARS;

              }

           

              /* Accepterer vi filens stoerrelse? */

              $fil_stoerrelse = filesize($fra)/1024;

              if($fil_stoerrelse > $konfiguration["max_stoerrelse"]){

              die("Desværre - filen er for stor. Jeg accepterer kun " .

            $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .

            ceil($fil_stoerrelse, 1) . " kb");

              }

           

              if(function_exists("move_uploaded_file")) {

            #resize($fra, $til, 324, 216);
            resize($fra, $til, 400, 400);

              resize($fra, $til_t, 170, 100);

            }

            else {

              copy($fra, $til);

            }

            }

       

           

                $filnavn = $til;

                $filnavnthumb = $til_t;

            }

           

        ///*** FIL SLUT  FIL SLUT ***///





$query_insert = mysql_query("INSERT INTO traenere (id, arbejde, type, hold, navn, adresse, postby, tlf, mobil, mail, start, beskrivelse, filnavnthumb)

VALUES ('$id', '$arbejde', '$type', '$hold', '$navn', '$adresse', '$postby', '$tlf', '$mobil', '$mail', '$start', '$beskrivelse', '$filnavn', '$filnavnthumb')")

or die(mysql_error());

header("location:index.php?side=traener&type=$type");

}



?>

Hvad kam der være galt?

På forhånd tak.
Avatar billede coderdk Praktikant
14. august 2008 - 20:53 #1
$query_insert = mysql_query("INSERT INTO traenere (id, arbejde, type, hold, navn, adresse, postby, tlf, mobil, mail, start, beskrivelse, filnavnthumb)

VALUES ('$id', '$arbejde', '$type', '$hold', '$navn', '$adresse', '$postby', '$tlf', '$mobil', '$mail', '$start', '$beskrivelse', '$filnavn', '$filnavnthumb')")

er gal. Der er flere VALUES end der er felter i definitionen ;) Det ser ud som om du mangler filnavn i feltdefinitionen.
Avatar billede alluc Nybegynder
14. august 2008 - 21:22 #2
Hvad mener du med at der er flere values ?
Avatar billede alluc Nybegynder
14. august 2008 - 21:26 #3
Arh nu virker det - men der opstår et andet problem.
Når den skal udskrive checkbox'ene så kommer der bare en besked "Array" ?! HVorfor skriver den ikke hvilke felter jeg har checkede af?
Avatar billede alluc Nybegynder
14. august 2008 - 21:39 #4
Dette er de 2 punkter som indeholder checkboxe:
    $arbejde = $row['arbejde'];

    $hold = $row['hold'];

Men de forskellige checkbox-informationer bliver vist ud i en køre - kunne godt tænke mig at informationerne bliver vist som info, info1, info2 osv. Er det muligt ?
Avatar billede alluc Nybegynder
14. august 2008 - 21:41 #5
Mente dette plejede at kunne gøre det - men det virker ikke?!:
    $arbejde = explode(",",$row['arbejde']);

    $hold = explode(",",$row['hold']);
Avatar billede coderdk Praktikant
14. august 2008 - 22:37 #6
var_dump( $row['arbejde'] );
var_dump( $row['hold'] );

for at se hvad der er i arrayet :) Hvor præcist er det? For det er da ikke i den kode?
Avatar billede alluc Nybegynder
14. august 2008 - 23:06 #7
Nej det er fordí det er i følgende fil:

<?



$id = $_GET['id'];



if(isset($id)) {

    $id_sel = mysql_query("SELECT * FROM traenere WHERE id='$id'") or die(mysql_error());

    $row = mysql_fetch_array($id_sel);

    $id = $row['id'];

    $arbejde = explode(",",$row['arbejde']);

    $hold = explode(",",$row['hold']);

    $navn = $row['navn'];

    $adresse = $row['farve'];

    $postby = $row['str'];

    $tlf = $row['tlf'];
   
    $mobil = $row['mobil'];
   
    $mail = $row['mail'];
   
    $beskrivelse = $row['beskrivelse'];
   
    $start = $row['start'];

    $filnavn = $row['filnavn'];

    $filnavnthumb = $row['filnavnthumb'];

    echo "<b>$arbejde</b></font><br />";
    echo "<b>$hold</b><br /><br />";
    echo "$navn<br />";
    if($filnavn == "") {

        echo "";

    } else {

        echo "<img border='0' style='border: 1px solid #000000; padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px' class='valign' src='$filnavn' />";

    }
    echo "$adresse<br />";

    echo "$postby<br />";
   
    echo "$tlf<br />";
   
    echo "$mobil<br />";
   
    echo "$mail<br />";
   
    echo "$start<br />";
   
    echo "$Beskrivelse<br />";
   

} else {

    $type = $_GET['type'];

   

    if(isset($type)) {

        $type = $_GET['type'];

    } else {

        $type = "Forside";

    }

   

    echo "<font size='2' color='#3d9bd6'><b>»</b></font> </span> <span class='overskrift'>Trænere <img src='billeder/link.gif' /> $type</span><br /><br />";


   

    echo "<table>";

   

    $select_traener = mysql_query("SELECT * FROM traenere WHERE type='$type'")

    or die(mysql_error());

    $number_traener = mysql_num_rows($select_traener);

   

    if($number_traener < 1) {

        echo "";

    } else {

        while($row = mysql_fetch_array($select_traener)) {
       
    $id = $row['id'];

    $arbejde = explode(",",$row['arbejde']);

    $hold = explode(",",$row['hold']);

    $navn = $row['navn'];

    $adresse = $row['farve'];

    $postby = $row['str'];

    $tlf = $row['tlf'];
   
    $mobil = $row['mobil'];
   
    $mail = $row['mail'];
   
    $beskrivelse = $row['beskrivelse'];
   
    $start = $row['start'];

    $filnavn = $row['filnavn'];

    $filnavnthumb = $row['filnavnthumb'];

           

            echo "<tr valign='center'><td width='300'>";

            echo "<b>$arbejde</b><br />";
            echo "<b>$hold</b><br /><br />";

            echo "$navn<br />";
            echo "$tlf<br />";
            echo "$mail<br />";

            echo "<a href='index.php?side=traener&id=$id'><img src='billeder/link.gif' />Læs mere</a><br />";

           

            if(isset($_SESSION['admin']) && $_REQUEST['type'] != "") {

                echo "<a class='adminlink' href='index.php?side=redigertraener&type=$type&id=$id'>» Rediger træner</a>    <a class='adminlink' href='index.php?side=slettraener&type=$type&id=$id&type=$type'>» Slet traener</a><br /><br />

                ";

            } else {

                echo "";

            }

           

            echo "</td><td valign='top'>";           

            if($filnavnthumb == "") {

                echo "";

            } else {

                echo "<img border='0' style='border: 1px solid #000000; padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px;' style='float:right; padding:0px 80px 0px 100px;'
class='infonyhedbillede' src='$filnavnthumb' />";

            }

           

            echo "</td>";

                       

   

       

           

            echo "</tr>";

            echo "<tr><td colspan='2'><hr noshade color='#000000' size='1' /></td></tr>";

        }

       

    }



            echo "</table>";

           

            if(isset($_SESSION['admin'])) {
               
                if($type == "") {
                    echo "";
            } else {
                    echo "<a class='adminlink' href='index.php?side=oprettraener&type=$type&id=$id'>» Opret ny træner</a>  <br /><br />";
                }
            } else {

                echo "";

            }

       

}

           

       

   

?>
Avatar billede coderdk Praktikant
15. august 2008 - 00:38 #8
Ja, du echo'er jo en variabel ud som er et array, du skal loope igennem dem for at se dem, f.eks. med foreach eller for...
Avatar billede alluc Nybegynder
15. august 2008 - 17:33 #9
Hvordan gøres dette?
Avatar billede rax Praktikant
15. august 2008 - 20:05 #10
hey flemming

du looper et array på følgende måde:

$my_array = array("horse", "dog", "cat");
foreach($my_array as $animal)
{
  print $animal . "<br />";
}

/*
vil udskrive:
horse
dog
cat
*/

håber du kan komme videre nu :)
Avatar billede alluc Nybegynder
15. august 2008 - 22:08 #11
Jo men hvordan kan jeg overføre det til mit, når jeg gerne vil have den til at udskrive informationer fra min database ?
Avatar billede coderdk Praktikant
15. august 2008 - 22:14 #12
Prøv at ændre explode til implode
Avatar billede alluc Nybegynder
15. august 2008 - 22:25 #13
Virker ikke - Så skriver den: Warning: implode() [function.implode]: Bad arguments. in /home/virtual/bla/public_html/bla/traenere/traener.php on line 113
Avatar billede coderdk Praktikant
15. august 2008 - 22:37 #14
Hmm det lyder som om at det ikke er et array ;P var_dump en af dem og se hvad variablene indeholder hvis der står noget med string og "Array" så er data gemt forkert i selve databasen ;P
Avatar billede alluc Nybegynder
15. august 2008 - 22:41 #15
Der står array .. hvad skal jeg så ændre ?
Avatar billede coderdk Praktikant
15. august 2008 - 22:43 #16
Dunno, der lader til at være noget galt når det bliver gemt i databasen ;P
Avatar billede alluc Nybegynder
15. august 2008 - 22:48 #17
Skal der evt. bruges en anden datatype end varchar(255) ?
Avatar billede alluc Nybegynder
15. august 2008 - 22:50 #18
I databasen viser den checkbox informationerne på følgende måde: info, info1, info2 osv. hvilket er korrekt - så det må være når den udskriver data at det går galt?!
Avatar billede alluc Nybegynder
15. august 2008 - 23:34 #19
hvis du indsætter var_dump( $row['arbejde'] ); så skriver den : string(0) ""
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester