【问题标题】:Error inserting comment in Unity whit C# & PHP在 Unity 中插入注释时出错 C# & PHP
【发布时间】:2021-12-18 04:37:38
【问题描述】:

我需要使用 php 和 c# 在 Unity 中插入的帮助。 我的想法是用户可以制作一个或多个 cmets,并允许查看谁发表了评论。为此,我有两张表,一张用于用户,另一张用于意见。

我的 PHP 脚本是这样的:

<?php
session_start();

include("config.php"); //archivo de conexion a base de datos
include("index.php");  

if(isset($_POST["newComentarioPaisaje"])){
    $comentario = mysqli_real_escape_string($connection, $_POST["newComentarioPaisaje"]);
    //$username = mysqli_real_escape_string($connection, $_POST["newAccountUsername"]);
//validar que no este vacio para enviar
if($comentario != "" ){
        mysqli_query($connection, "INSERT INTO opiniones (comentario,id) VALUES ('$comentario','$id_user')");
        echo "Registro de comentario exitoso!";

            
}else{
    echo "No puede enviar un comentario vacío!";
}
}

和c#这样:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Networking;

public class comentarioPaisaje : MonoBehaviour
{
    
    public string baseUrl = "http://192.168.100.3/ramus/InsertPaisaje.php"; //server donde esta la bd/carpeta que contiene el archivo de conexion a db
    

    public InputField ComentarioPaisaje;
    public Text infopaisaje;
    
    
    public void CommentRegister()
    {
        string paiComentario = ComentarioPaisaje.text;
        StartCoroutine(RegisterNewComentario(paiComentario));

        
    }
    
    IEnumerator RegisterNewComentario(string paiComentario)
    {
        WWWForm form = new WWWForm();
        form.AddField("newComentarioPaisaje", paiComentario);
        using (UnityWebRequest www = UnityWebRequest.Post(baseUrl, form))
        {
            www.downloadHandler = new DownloadHandlerBuffer();
            yield return www.SendWebRequest();
 
            if (www.isNetworkError)
            {
                Debug.Log(www.error);
            }
            else
            {
                string responseText = www.downloadHandler.text;
                Debug.Log("" + responseText); //la respuesta que se le da al usuario
                infopaisaje.text = "" + responseText; //la respuesta que se le da al usuario
            }
        }
    }
    
}

我得到统一的错误:
注意: session_start(): 忽略 session_start() 因为一个会话已经在 C:\xampp\htdocs\ramus\index.php >3
错误 :(
警告C:\xampp\htdocs\ramus\InsertPaisaje.php 中的未定义变量 $id_user 在行 13 注册评论exitoso!

【问题讨论】:

  • 没错。你永远不会定义 id_user。这与unity或c#无关

标签: c# php unity3d


【解决方案1】:

第一条消息注意是因为您已经有一个会话并尝试使用session_start() 创建一个新会话。 PHP 代码开头的session_destroy()session_unset() 应该避免该错误。但是您也可以检查会话是否已经存在,check here

关于第二条消息WARNING,是因为你没有声明变量$id_user。所以它不存在,但您尝试访问它。

session_destroy()

session_unset()

【讨论】:

    猜你喜欢
    • 2013-05-06
    • 2014-03-16
    • 2014-09-26
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    相关资源
    最近更新 更多