PHP 错误缺少参数

Posted

技术标签:

【中文标题】PHP 错误缺少参数【英文标题】:PHP ERROR missing argument 【发布时间】:2012-09-07 05:21:27 【问题描述】:

我正在按照本教程进行登录和注册 http://www.raywenderlich.com/13511/how-to-create-an-app-like-instagram-with-a-web-service-backend-part-12 。当我单击登录或注册时,我收到此错误 php

<br />
<b>Warning</b>:  Missing argument 2 for login(), called in /Applications/XAMPP/xamppfiles/htdocs/iReporter/index.php on line 13 and defined in <b>/Applications/XAMPP/xamppfiles/htdocs/iReporter/api.php</b> on line <b>36</b><br />
"error":"Wrong username or password" 

这是我的 php 代码:

<?php
session_start();
require("lib.php");
require("api.php");

header("Content-Type: application/json");

//API
switch ($_POST['command']) 

    case "login":

        login($_POST['username'] && $_POST['password']);

        break;

    case "register":

        register($_POST['username'] && $_POST['password']);

        break;

    case "upload":

        upload($_SESSION['IdUser'], $_FILES['file'], $_POST['title']);

        break;

exit();
?>

和api.php代码:

<?php
//API implementation to come here
function errorJSON($msg)

    //Returning erros back to user

    print json_encode(array('error' => $msg));
    exit();


//Register function
function register($user, $pass)
    //checking if username exists
    $login = query("SELECT username FROM login WHERE username='%s' limit 1", $user);

    if (count($login['result']) >0) 
        errorJSON('Username already exists'); 
    

    //Registering user
    $result = query("INSERT INTO login(username, pass) VALUES('%s', '%s')", $user, $pass);

    if (!$result['error'] ) 

        //Success
        login($user, $pass);

     else 
        //error
        errorJSON('Sorry, something went wrong');

    



function login($user, $password)
    $result = query("SELECT  IdUser, username FROM login WHERE username = '%s'  AND pass = '%s'   limit 1 ", $user, $pass);

    if (count($result['result']) > 0) 
        //Authorized 
        $_SESSION['IdUser'] = $result['result'][0]['IdUser'];
        print json_encode($result);

     else 
        //Not authorized 
        errorJSON('Wrong username or password');
    


?>

我需要帮助...

【问题讨论】:

【参考方案1】:

这个:

login($_POST['username'] && $_POST['password']);

几乎肯定是错误的。试试这个:

login($_POST['username'], $_POST['password']);

并修复对register() 的调用。

【讨论】:

【参考方案2】:

那个登录函数需要两个参数。但是你只通过了一个......

login($_POST['username'],$_POST['password']);

这应该可行..

【讨论】:

【参考方案3】:

更改以下块

案例“登录”: 登录($_POST['用户名'],$_POST['密码']); 休息; 案例“注册”: 注册($_POST['用户名'],$_POST['密码']); 休息;

您在函数调用中使用了&amp;&amp;。请改用,

【讨论】:

【参考方案4】:

你错过了这个:

login($_POST['username'], $_POST['password']);

【讨论】:

没有注意到其他一些人已经发布了这个。对不起!

以上是关于PHP 错误缺少参数的主要内容,如果未能解决你的问题,请参考以下文章

XAMPP中缺少php错误日志

Cloudinary 错误:“错误”:“消息”:“缺少必需的参数 - 时间戳”

Swift 中缺少参数错误的参数

行程预估请求错误 - 错误参数(缺少必需参数) - Lyft API

从另一个视图返回文本错误,缺少参数参数

Composer 错误:“系统中缺少 PHP 扩展文件信息”