Avatar billede prop46 Nybegynder
21. august 2003 - 15:23 Der er 3 kommentarer og
1 løsning

foreach ($arrErrors as $strError)

Har dette script men får følgende fejl når jeg submit'er min <form>

Invalid argument supplied for foreach()

Kan ikke finde fejlen


<?php

require("mysql-ting/mysql-funktioner.php");

$brugernavn = $_POST["brugernavn"];
$navn = $_POST["navn"];
$kodeord = $_POST["kodeord"];
$kodeord2 = $_POST["kodeord2"];

if (isset($brugernavn)) {

    if ($brugernavn == "") {
        $arrErrors[] = "Der er ikke skrevet noget brugernavn";
    }
    if (!eregi("^[ a-zæøå-9_@,\.-]+$",$brugernavn)) {
        $arrErrors[] = "Der er ugyldig(e) tegn i brugernavnet";
    }
    if ($navn == "") {
        $arrErrors[] = "Du har ikke skrevet dit navn";
    }
    if (!eregi("[ ]", $navn)) {
        $arrErrors[] = "Navnet skal indholde BÅDE for-og efternavn";
    }
    if ($kodeord == "") {
        $arrErrors[] = "Du har ikke skrevet noget kodeord";
    }
    if (!eregi("^[ a-zæøå-9_@,\.-]+$", $kodeord)) {
        $arrErrors = "Der er ugyldig(e) tegn i kodeordet";
    }
    if ($kodeord2 == "") {
        $arrErrors = "Du skal skrive kodeordet igen";
    }
    if ($koderord != $kodeord2) {
        $arrErrors = "De indtastede kodeord er ikke ens.";
    }

    if(!isset($arrErrors)) {
        aabn_forbindelse_og_vaelgdb();

        $sql = "select brugernavn from bruger where brugernavn = $brugernavn";
       
        $result = mysql_query($sql);
        $arrName = $result->GetArray();

            if (count($arrName > 0)) {
            $arrErrors = "Der finde allerede en bruger med det brugernavn. Vælg et andet";
            } else {
            $sql = "insert into bruger values('$brugernavn', '$navn', '$email', '$kodeord')";
            mysql_query($sql);

            header("Location: index.php?side=oprettet&brugernavn=$brugernavn");
            }

        luk_forbindelse();
    }

    if (isset($arrErrors)) {
        foreach ($arrErrors as $strError) {
            echo "<font color=\"red\">Fejl:<br />".$strError."<br /></font>";
        }
    }
}


?>

<table width="496" height="100%" cellpadding="0" cellspacing="0" class="baggrund">
    <tr>
        <td height="100%" align="center" valign="middle">
            <table cellpadding="30" cellspacing="0" class="skriv">
                <tr>
                    <td height="100%" align="center" valign="middle">
                        <form action="" method="post">
                            <table cellpadding="0" cellspacing="0">
                                <tr>
                                    <td align="left">
                                        <span class="p3">Skriv dit ønskede brugernavn<br>
                                        <input type="text" name="brugernavn" size="20" value="<?php echo $brugernavn; ?>"></span><br><br>
                                    </td>
                                </tr>
                <tr>
                    <td valign="left">
                        <span class="p3">Skriv dit fulde navn<br>
                        <input type="text" name="navn" size="20" value="<?php echo $navn; ?>"></span><br><br>
                    </td>
                </tr>
                <tr>
                    <td valign="left">
                        <span class="p3">Skriv din email.<br>
                        <input type="text" name="email" size="30" value="<?php echo $email; ?>"></span><br><br>
                    </td>
                </tr>
                <tr>
                    <td valign="left">
                        <span class="p3">Skriv et kodeord<br>
                        <input type="password" name="kodeord" size="20"></span><br><br>
                    </td>
                </tr>
                <tr>
                    <td valign="left">
                        <span class="p3">Skriv kodeord igen<br>
                        <input type="password" name="kodeord2" size="20"></span><br><br>
                    </td>
                </tr>
                                <tr>
                                    <td align="center">
                                        <input type="submit" name="godkend" value="OPRET" class="submit">
                                    </td>
                                </tr>
                            </table>
                        </form>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>
Avatar billede jakoba Nybegynder
21. august 2003 - 15:32 #1
dune 3 sidste fejlmeldinger overskriver arerrors med en streng. istedetfor at tilføje et nyt element i arrayet.

Så er $arrerror ikke et array mere og kan ikke bruges i en foreach.

mvh JakobA
Avatar billede jakoba Nybegynder
21. august 2003 - 15:33 #2
dvs:  nedenstående 3 mangler [] efter arrErrors

    if (!eregi("^[ a-zæøå-9_@,\.-]+$", $kodeord)) {
        $arrErrors = "Der er ugyldig(e) tegn i kodeordet";
    }
    if ($kodeord2 == "") {
        $arrErrors = "Du skal skrive kodeordet igen";
    }
    if ($koderord != $kodeord2) {
        $arrErrors = "De indtastede kodeord er ikke ens.";
    }
Avatar billede prop46 Nybegynder
21. august 2003 - 15:49 #3
Aber doch ja.... Det var sgu da en dum fejl!!
Avatar billede jakoba Nybegynder
21. august 2003 - 16:10 #4
:-)
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