【发布时间】: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#无关