Avatar billede krydset Nybegynder
07. august 2003 - 18:54 Der er 3 kommentarer og
1 løsning

missing argument

Hej eksperter.
Nogen der ved hvorfor jeg får denne meddelse.

Warning: Missing argument 4 for add_to_database() in /home/administrator/www/test2/sample2.php on line 26
error:
Jeg har lavet et script der skal kunne indsende domæne navn og email til en mysql database.
Mit script er her
-----------------------------------------------
<?php

if ( isset( $domain ) && isset( $sex ) && isset( $domain ) )
    {
    //check user input here
    $db_error = "";
    $ret = add_to_database( $domain, $sex,$dberror );
    if ( ! $ret )
        print "error: $dberror<br>";
    else
        print "thank u very much";
    }
else    {
    write_form();
    }
   
   
function add_to_database( $domain, $sex, $mail, &$dberror )
    {
    $user = "root";
    $pass = "";
    $db = "sample";
    $link = mysql_connect( "localhost", $user, $pass );
   
    if ( ! $link )
        {
        $dberror ="couldn´t connect to database";
        return false;
        }
   
    if ( ! mysql_select_db( $db, $link ))
        {
        $dberror = mysql_error();
        return false;
        }
       
    $query = "INSERT INTO domains ( domain, sex, mail )
        values( '$domains', 'sex', '$sex' )";
        if ( ! mysql_query( $query, $link))
            {
            $dberror = mysql_error();
            return false;
            }
        return true;
        }
       
    function write_form()
        {
global $PHP_SELF;
print "<form action=\"$PHP_SELF\" method=\"POST\">\n";
print "<input type=\"text\" name=\"domain\"> ";
print "The domain you would like<p>\n";
print "<input TYPE=\"text\" name=\"mail\"> ";
print "Your mail address<p>\n";
print "<select name=\"sex\">\n";
print "\t<option value=\"F\"> Female\n";
print "\t<option value=\"M\"> Male\n";
print "</select>\n";
print "<input type=\"submit\" value=\"submit!\">\n</form>\n";
}
?>
Avatar billede trinity Nybegynder
07. august 2003 - 18:58 #1
$ret = add_to_database( $domain, $sex,$dberror );
til
$ret = add_to_database( $domain, $sex, $mail, $dberror );

og

$query = "INSERT INTO domains ( domain, sex, mail )
        values( '$domains', 'sex', '$sex' )";
til

$query = "INSERT INTO domains ( domain, sex, mail )
        values( '$domains', '$sex', '$mail' )";


function add_to_database( $domain, $sex, $mail, &$dberror )

og fjern & fra ovenstående linie.
Avatar billede krydset Nybegynder
07. august 2003 - 19:16 #2
den vil ikke godkende den her linie
function add_to_database( $domain, $sex, $mail, $dberror )
får en fejl. Den printer error ud fra $dberror variablen
Avatar billede snuseren.dk Nybegynder
07. august 2003 - 19:40 #3
Prøv det her:

<?php
$domain = $_POST["domain"];
$mail = $_POST["mail"];
$sex = $_POST["sex"];

if ( isset( $domain ) && isset( $sex ) && isset( $domain ) )
    {
    //check user input here
    $db_error = "";
    $ret = add_to_database( $domain, $sex,$dberror );
    if ( ! $ret )
        print "error: $dberror<br>";
    else
        print "thank u very much";
    }
else    {
    write_form();
    }
   
   
function add_to_database( $domain, $sex, $mail, &$dberror )
    {
    $user = "root";
    $pass = "";
    $db = "sample";
    $link = mysql_connect( "localhost", $user, $pass );
   
    if ( ! $link )
        {
        $dberror ="couldn´t connect to database";
        return false;
        }
   
    if ( ! mysql_select_db( $db, $link ))
        {
        $dberror = mysql_error();
        return false;
        }
       
    $query = "INSERT INTO domains ( domain, sex, mail )
        values( '$domains', 'sex', '$sex' )";
        if ( ! mysql_query( $query, $link))
            {
            $dberror = mysql_error();
            return false;
            }
        return true;
        }
       
    function write_form()
        {
global $PHP_SELF;
print "<form action=\"$PHP_SELF\" method=\"POST\">\n";
print "<input type=\"text\" name=\"domain\"> ";
print "The domain you would like<p>\n";
print "<input TYPE=\"text\" name=\"mail\"> ";
print "Your mail address<p>\n";
print "<select name=\"sex\">\n";
print "\t<option value=\"F\"> Female\n";
print "\t<option value=\"M\"> Male\n";
print "</select>\n";
print "<input type=\"submit\" value=\"submit!\">\n</form>\n";
}
?>

// Anders
Avatar billede krydset Nybegynder
10. august 2003 - 00:17 #4
det var en fejl med databasens primary key. så nupper selv points. men tak for hjælpen.
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