编程C,C ++,Java,PHP,Ruby,图灵,VB
计算机科学加拿大 
编程C,C ++,Java,PHP,Ruby,图灵,VB  

用户名:   Password: 
 登记登记   
 MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?
指数 -> PHP.
转到页面 1, 2  下一页
查看上一个主题 可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题
作者 信息
chopperdudes.




邮政发布: 2009年12月1日星期二12:10  帖子主题:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则还有吗?

对于总结项目,我们的老师已为美国(3人中)分配设计一个网站申请,其中一个人可以预订家长教师面试。坦率地说,我们的老师希望将这个项目置于实际使用中(因此他决定将这个项目分配给他班上最受称职的编码学生中的3个,这是显然从未见过MySQL或PHP的课程。我们一直在研究其中的一些基本的教程/概念,但是,我们都没有任何与服务器数据库相关的东西的经验。我们在算法和喜欢的算子方面是主管编码者,然而,如前所述,我们现在真的丢失了......

Any1可以指出任何良好的起点/清除服务器数据库应用程序后面的一些基本概念?

我们有一些更具体的问题是:
如果它在学校网站上的应用程序,那么父母可以访问/修改数据库中的信息
数据库在哪里存储,这与服务器有关(基本上是数据库和服务器后面的概念)
我们已经在MySQL上读了一些教程,它涉及从输入命令的Shell和数据库中的数据获取/更改,如何通过在线应用程序来实现,其中用户不会进入shell中的命令?
MySQL和PHP如何共同努力提供用户/数据库交互?

真的,我们需要尽可能多的信息,看看我们如何获得今天的分配,实际上有3周才能完成它(AKA实际连接和在学校网站上)。

多谢!
赞助
赞助
赞助
赞助
rdrake.




邮政发布: 2009年12月8日1:06  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

搬到了PHP。

您的PHP代码访问同一台计算机上运行的数据库。它充当数据库的接口。用户间接地通过代码修改数据库。

数据库无论何处都存储。这对你来说真的没关系。

您的PHP代码使用 php-mysqli界面 执行“命令”AKA SQL。

同上。
魔鬼




邮政发布: 2009年12月8日星期二4:29  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

简要概述:

服务器硬件(计算机): “托管”“应用程序”的服务器。通常,可能是Linux机器运行Apache,通常使用PHP和MySQL(这是统称为灯泡堆栈)。

客户端硬件(计算机): 您的用户查看您的网页的计算机。他们并不是那么特别的。他们有一个网络浏览器。

数据库: 这种知识渊博但隐居的居民生活在服务器中。他讨厌中断,所以他一般不会响应任何不住在服务器中的人(禁用其他机器的连接)。他存储了所有应用程序空间信息,如用户名,盐渍密码,加入日期,约会等。您的服务器始终要求他提供信息并在任何有趣的事情发生时记录更新;当他回复时,他倾向于很不好地说出代码(SQL响应)。

服务器应用程序(后端): 此表现型CHAP也在服务器上生存,数据库是一个recluse,服务器即将为止。事实上,服务器是一种社交动物,他在电话日夜等待别人叫他。每当有人打电话给他时,服务器急切地回应他们所要求的任何信息,尽管他改写(格式化)他来自数据库的信息。

客户端应用程序: 有许多不同的口味(即Firefox,Safari,Opera ......),但都表现得相当类似。他们调用服务器,并在获取令人愉快的方式(HTTP连接标题)后,询问服务器以获取一些有价值的信息。服务器询问数据库并返回响应。客户端继续对话,每次都会通过服务器的喋喋不休和断开厌倦。


在这个类比中,发生的“呼叫”是HTTP会话;连接正在启动会话并断开连接正在终止。

您可以使用该数据库直接讨论 mysql. 命令行实用程序,但他并不是一个讲话者,而且通常更容易让服务器与他交谈。 客户端永远无法直接与数据库交谈。 数据库跟踪他自己的信息库和讨厌别人触摸它 - 通常,这让他如此疯狂,他只是停止工作;最好不要让他自己处理它(不要认真地触摸数据库文件......


与标准应用程序相比,数据库使用应用程序只需从新位置提取信息。考虑您的前几个应用程序。它们可能从硬盘上的特殊格式文件中读取数据,将其放入其在内存中理解的某种格式。这略有不同:每次需要查看信息时,都会向数据库询问您的硬盘,只需使用它。这通常脱颖而出:

1.用户点击“提交”按钮。 (GUI互动)
2.客户“哦,地狱,我想我会问一个人的想法。” (http请求)
3.服务器变得“哦,有人爱我!我会立即得到那个信息......嘿数据库,你可以抬头看看那一天的这件事,与其他人一起做过这件事吗?这是Greaaaaat。” (SQL请求)
4.数据库拍摄服务器脏样,将一些论文减少并告诉服务器“蒂姆”。 (SQL响应)
5.服务器告诉客户端“Tim与y和z由于q”(通常是,通过将新页面发送到客户端 - HTTP响应)。
6.客户端向用户展示这一点(通常,通过从服务器 - GUI响应中绘制新页面)。


现在我回顾一下,那种愚蠢的解释。希望我不像更多混淆你。祝您运气良好的时间表:3周对于专业程序员来说,写作这样的应用程序,假设您根本需要进行任何正式测试。
chopperdudes.




邮政发布: 2009年12月14日11:49 PM  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

多谢!尽管如此,尽管如此,但听起来有多童话,你的解释非常清楚并帮助了很多。有了更多的研究,我们现在能够在计算机中设置本地主机,并开始尝试使用PHP代码。我们还没有做得很多,但冬季休息会这样做。

现在我们面临另一个问题。在使用mysql设置数据库时(我们使用phpmyadmine要做),是否可以在OOP中拥有类似的类?例如,有一个学生课程,它将包括电话,地址,父母,父电子邮件,学生编号等。我知道这些可以放入列,但是,我们现在面临的麻烦是,如果一个属性学生实际上是一个自己的桌子?即他/她的时间表?在编程术语中,这将意味着您将在课堂上有一个2D数组字段,但您将如何使用MySQL表来实现这一点?

而且,我们的计划到目前为止(请添加建议):
每个学生都用父母确定,因此父母的电子邮件地址。
该软件将在实际父母教师面试日之前一个月。
电子邮件地址被排序,忽略重复(即,具有相同父级的兄弟姐妹)。
为每个电子邮件地址生成随机代码,并且包含特定代码的电子邮件将被发送到电子邮件地址(AKA父级)
登录系统将使用父母的电子邮件地址和代码。
登录后,父母可以选择子女(ren),然后选择他/她的老师。
将弹出一个计划表,可以这样预订约会。
在预约后,将发送确认给电子邮件,并将在24小时内激活,否则预订是无效的。
在教师方面,教师(有自己的帐户和特权),将能够查看自己的预订。
他们还将能够预订预订(如果父母没有电子邮件,他/她将不得不直接联系老师)。
其他任何内容,必须联系管理员。

应该实现的其他很酷的功能是多种语言(即GUI按钮)
基于闪存的网站
在实际日期之前的电子邮件通知,
和其他用户友好的功能。

欢迎任何建议......但是,我们必须弄清楚如何存储相当于一类对象的东西列表......
魔鬼




邮政发布: 2009年12月15日12:07 AM  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

将类转换为数据库和背部有很多解决方案。 请参阅本文。


一般来说,您将使用外键。这些就像对象实例的指针,因为它们指向另一个(外域)表中的记录。您的外键类型通常与目标表上的主键相同,通常是无符号整数。


如果这些人都没有解决你的问题,你能澄清你需要什么吗?
chopperdudes.




邮政发布: 2009年12月15日12:23  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

谢谢你的快速回复,第一个似乎现在没有是我们的问题,虽然这将是良好的做法。外国关键概念似乎很有希望,所以我无疑会对这一点进行更多的研究。但我猜只是为了重述/澄清我要问的东西,我想我想模特是这样的:

java.:


班级 student
{
细绳 名字,midname,lastname;
//所有其​​他个人信息......
时隙 [][] timeTable;
}

班级 timeSlot
{
细绳 老师,Coursecode,课程;
roomNumber;
}

并且基本上,一系列学生

学生 [] 学生们;是我想要模仿的数据结构。
DTY.




邮政发布: 2009年12月15日星期二7:57  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

要执行查询,请确保使用MySQLI使用准备好的语句(而不是旧PHP MySQL库)。
至少,请确保您了解 SQL注入.

准备好陈述背后的想法是您将实际数据分开从查询发送。例如,而不是

从“用户”中选择*其中UserName =“$ Username”和Passwd =“$ Passwd”

哪个容易受到SQL注入的攻击(除非消除$用户名和$ Passwd(进程逃离SQL中的特殊字符以保护从SQL IB引用))您将要做:

选择*来自`Users`的用户名=?和passwd =?

然后沿着那些(IIRC,在PHP / MySQLI中的价值观,您可以使用MySQLI_Bind_Param来执行此操作。由于这不会将数据作为查询的一部分发送,因此它是安全的SQL注入。
这也允许您在新变量上呼叫同一查询,同时仅发送新数据,而不是原始查询(这不是一个大不了的问题,因为最常见的数据往往超过查询)。
魔鬼




邮政发布: 2009年12月15日上午10:02  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

您几乎可以肯定将2D阵列模拟为1D阵列(请记住,这就是在RAM中完成的方式)。为了可视化,乘坐棋盘并从左上角开始编号正方形,然后向右开始。当你进入右侧(方8)开始在下一行的左侧(Square 9)。任何2D(x,y)坐标对的1d索引的公式为index = y *列+ x。

然后你有(宽恕我的半人记住的SQL语法):

代码:

表学生(
 ID无符号INT主键自动增量
);

表时间段(
 sudderid unsigned int,
  Index UNSIGNED INT,
 部分无符号int,

  FOREIGN KEY ( StudentID )参考学生.ID,
  FOREIGN KEY ( ClassID )参考文章
);


这将设置一个学生课程,其可以具有与之相关的多个时隙,每个时隙都引用了属于它的学生以及学生在此期间出席的部分(一类课程)。可以想象,该部分可以参考教师(姓名,办公时间......),参考课程(具有课程描述,先决条件列表......)。

您将选择以下操作:
代码:

从suddentid ='的时隙中选择*<把学生证放在这里......>' ORDER BY Index


这可能似乎起初,但你会习惯它。
赞助
赞助
赞助
赞助
chopperdudes.




邮政发布: 孙12月20日2009年9:16下午9:16  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

谢谢你们很多,我们最近一直在努力,因为我们每个人都有很多进步,在圣诞节休息期间有3个最终项目。但是,我确实尝试过它,并找到实现一些结果的方法。但是,我真的没有Clue PHP的约定是什么,我不是指变量和东西的命名。例如,我习惯于使用数组,所以对我来说,将数据库(或其中的一部分)读成阵列,然后操纵并输出它是自然的。

SQL注入相当有趣,我现在使用了函数mysql_real_escape_string.,因为准备好的语句是压倒性的。

此外,谢谢魔鬼的指出,我认为我们将在这么短的时间内学到这么少的时间。相反,我们到目前为止决定将学生(每个学期)的4个课程作为数据库中的单个列存储,每个课程都是一个特殊格式的字符串,这将允许我们获得与课程相关的各种信息。


以下是我在学习基础之后提出的一些代码:

PHP.:

<html>
<head>
<title>PHP Test</title>
</head>
<body>


<?php
包括(“db.php”);
$ Connection. = mysql._connect.($服务器, $用户名, $密码) 或者 (“无法连接到服务器!”);
$ DB. = mysql._select_db.($数据库, $ Connection.) 或者 (“无法选择数据库!”);


功能 readdata. ($ Q.)
{
        $结果 = mysql._query.($ Q.) 或者 ("无法执行查询!");
        为了 ($ I. = 0; $ temp. = mysql._fetch_assoc.($结果); $ I. ++)
                $表 [$ I. ] = $ temp.;
        返回 $表;
}

功能 randomCode()
{
        $长度 = 6;   
        $随机码 = ;
        为了 ($ I. = 0; $ I. < $长度; $ I. ++)
                如果 (兰特(0,1) ==. 0)
                        $随机码 。= 兰特(0,9);
                别的
                        $随机码 。= CHR.(兰特(65, 90));
       
        返回 $随机码;
}

功能 setRandomCode()
{
        mysql._query.(“更新学生设置random_code ='”);
        $表 = ReadData. (“通过Email_Address从学生订购*);
        $ numberofstudents. = 数数($表);
        Foreach. ($表 作为 $行){
                如果 (Strcasecmp. ($行['random_code'],) ==. 0)
                        mysql._query.(“更新学生设置random_code ='”.randomcode.().
                        “'哪里是电子邮件_address ='”.$行['电子邮件地址'].);
        }
}


setRandomcode.();

$ studentdata. = ReadData. (“通过Email_Address从学生订购*);
$ numberofstudents. = 数数($ studentdata.);

Foreach. ($ studentdata. 作为 $行){
        Foreach. ($行 作为 价值)
                回声 “价值\ n";
        回声 "<br/>";
}


?>

</body>
</html>


最基本的登录页面:

PHP.:

login.php.:

<html>
<head>
<title>PHP Login</title>
</head>
<body>

<form action=“欢迎.PHP” method=“邮政”>
电子邮件: <input type=“文本” name="电子邮件" />
随机代码: <input type=“密码” name="随机代码" />
<input type=“提交” />
</form>

</body>
</html>


欢迎.PHP.:

<html>
<head>
<title>PHP Welcome</title>
</head>
<body>

<?php
包括(“db.php”);
$ Connection. = mysql._connect.($服务器, $用户名, $密码) 或者 (“无法连接到服务器!”);
$ DB. = mysql._select_db.($数据库, $ Connection.) 或者 (“无法选择数据库!”);


功能 readdata. ($ Q.)
{
        $结果 = mysql._query.($ Q.) 或者 ("无法执行查询!");
        为了 ($ I. = 0; $ temp. = mysql._fetch_assoc.($结果); $ I. ++)
                $表 [$ I. ] = $ temp.;
        返回 $表;
}



$电子邮件 = $ _post.["电子邮件"];
$密码 = $ _post.["随机代码"];


$ Info. = ReadData. ("选择*来自电子邮件_address ='的学生".mysql._real_escape_string.($电子邮件).);

如果 (Strcasecmp. ($ Info.[0]['random_code'], $密码)==.0)
{
        Foreach. ($ Info. 作为 $行){
                Foreach. ($行 作为 价值)
                        回声 价值.;
                回声 "<br/>";
        }
}
别的
{
回声 “用户名或密码错误”;
}

?>

</body>
</html>


任何建议对我们来说都是非常有价值的,谢谢家伙!
DTY.




邮政发布: 2009年2月20日星期五:下午9:43  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

是的,我明白不想使用准备好的陈述,有一个学习曲线,但一旦你学习他们,你就会很高兴。
虽然绝对不是您需要为您的第一个项目使用的东西。

只是一些小小的提示;

PHP.:
$结果 = mysql._query.($ Q.) 或者 ("无法执行查询!");

就个人而言,我只打扰了连接和数据库选择的(),因为我发现它只是妨碍了,如果你能够连接到数据库,则执行查询应该很好。
如果你想成为额外的安全,请去它

[语法=“php”[$ table [$ i] = $ temp; [/ syntax]
你在哪里宣布表?应该有一个$ table = array();在那里的某个地方。
此外,PHP中的整洁特征是$表[] = 5;将附加到表格的末尾。
所以,而不是:
PHP.:
        为了 ($ I. = 0; $ temp. = mysql._fetch_assoc.($结果); $ I. ++)
                $表 [$ I. ] = $ temp.;

你可以做:
PHP.:
尽管 ($ temp. = mysql._fetch_assoc.($结果)) { $表[] = $ temp.; }


PHP.:
包括(“db.php”);

PHP.有四个函数来包括另一个文件,并且很好地了解所有文件,它们是:include(),required_once()和require_once()。
以_ONCE结尾的两个将不再包含该文件多次,如果该文件已包含在当前文件中,它将无关。找不到该文件时,两个以包含的两个开始,将引发警告,并继续,但两个从申请开始突出错误,并停止处理页面。
由于此文件包含数据库信息,如果不能包含,则页面的其余部分将无法正常工作,因此在这种情况下使用Require()或Require_Once()在此情况下进行有意义。
对于更简单的页面,如页脚,如果不包括该文件,页面仍然可以工作,则使用()或include_once()是有意义的。

PHP.:
$ Connection. = mysql._connect.($服务器, $用户名, $密码) 或者 (“无法连接到服务器!”);
$ DB. = mysql._select_db.($数据库, $ Connection.) 或者 (“无法选择数据库!”);

它可能最好在db.php中执行此操作,因此您不会在每一个页面上复制它(除非有些页面需要不同的东西,其中包括db.php,但不连接到数据库,在这种情况下最好把它放在db.php里面的函数中)。

PHP.:
$ Info. = ReadData. ("选择*来自电子邮件_address ='的学生".mysql._real_escape_string.($电子邮件).);

就个人而言,我更愿意使用插值来构建这样的字符串,但这是一个偏好的问题。
(如果您尚未了解String插值)
chopperdudes.




邮政发布: 太阳2019年12月20日10:10 PM  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

哦,嗯,​​谢谢!这些是我在谈论的事情。不知何故通过实验,我发现我的$桌子上班。这是因为不需要声明所有变量,所以我假设一个数组是相同的。显然是我做到的奇怪方法(每次指定增加的指数)工作。我肯定会改变这一点,谢谢你的提示。

是否有任何其他不良的编码习惯需要尽早被抓住,以防止在整个项目中使用它?我担心这个项目,即使是我们第一次用PHP / MYSQL做任何事情,我们的老师希望实际上将其留在学校网站上。所以它必须至少是“半专业”。
chopperdudes.




邮政发布: 2009年12月20日星期五10:43 PM  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

此外,是否有一个免费的编辑,这将为您缩进您的PHP代码?而且,您是否只使用HTML将页面链接在一起 ?
DTY.




邮政发布: 2009年10月20日星期五10:48 PM  帖子主题:Re:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

Chopperdudes @ Sun Dec 20,2009年10:10 PM写道:
哦,嗯,​​谢谢!这些是我在谈论的事情。不知何故通过实验,我发现我的$桌子上班。这是因为不需要声明所有变量,所以我假设一个数组是相同的。显然是我做到的奇怪方法(每次指定增加的指数)工作。我肯定会改变这一点,谢谢你的提示。

您的方法工作正常,因为您还可以通过分配给不存在的元素在数组中创建新项目;
$ arr [5] = 3;
将索引五到三,是否足够长。它不会创建索引0,1,2,3或4。
使用循环(imo)只是看起来更清晰
chopperdudes.




邮政发布: 孙12月27日,2009年7:47下午7:47  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

好吧,我们遇到了一个非常迟钝的问题,我们已经陷入了一天的一天。我们希望将2D数组的元素从PHP传递给Flash。我们尝试制作各种各样的2D阵列,我们可以将任何东西传递给闪光,除了我们需要的东西。

这就是我的意思:
代码:

功能ReadData.($q)
{
        $table = array();
       $结果= mysql_query($q) or die("无法执行查询!");
        while ($ temp = mysql_fetch_assoc($result))
                $table [] = $temp;
        return $table;
}

$ Info = ReadData("选择*来自电子邮件_address ='的学生".mysql_real_escape_string..($email)."'");
回声"&parentOne="。$ INFO [0] ['parent1_first_name'];


以上不起作用。
但是,如果我们只是随机组成了一些阵列,即

代码:

$ omg [0] ['hi'] ="hello";
回声"&parentOne=".$omg [0]['hi'];

然后它有效。

来自ReadData()不同的$ Info数组中的数据类型?什么可能是问题?
这是动作脚本2代码

代码:

lvout = new loadvars();//create lv object
lvin =新的loadvars();//create lv object
lvin.onload =功能(success) {
        if (success) {
               _root.parent1m.parent1name.text = lvin.parentone;
        }else{
               _root.parent1m.parent1name.text =."OMG";
        }
};
lvout.sendandload.("../test/welcome.php",lvIn,"POST");


我们还尝试了突出的方法并传递整个阵列并将阵列拆分为闪光灯,也没有成功。
DTY.




邮政发布: 太阳2019年12月27日8:22 PM  帖子主题:Re:MySQL / PHP如何与服务器/数据库/互联网一起使用......还有否则吗?

我不是 完全 当然你想要做什么,但我认为你正在使用闪存来抓住php文件,并且php文件将传递数据? (顺便说一句,如果这是你正在做的事情,这被称为ajax)。

我能想到的只是造成问题的是,查询实际上没有返回任何结果。由于您发布,弄清楚这是否是这种情况可能有点困难。

如果您从URL传递参数(即查询字符串(SomeHting.php?query_string)),您只能转到浏览器中的页面并查看“看到发生了什么”。您仍然可以用帖子执行此操作,但不仅仅是通过进入浏览器中的页面(最简单的方法是用相同变量制作HTML表单)。

在这样做之前,您应该查看WebServer的错误日志。在哪里取决于服务器和平台,但如果它是Linux,它很可能在/var/log/(server) / serror.log中找到(但知道大多数学校如何工作,它可能在IIS上,我有不知道日志将在哪里找到)。
从上一个显示帖子:   
   指数 -> PHP.
查看上一个主题 告诉一个朋友可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题

12  [ 16 Posts ]
转到页面 1, 2  下一页
跳到:   


Style:  
搜索: