- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个用户可以用来更新对象的表单。该对象有 5 个 img 属性。所以在修改时我想更新数据库。我希望函数只更新用户在表单中更改的图像(数据库中的属性(img、img2、img3、img4、img5)。
这是表单提交的更新函数:
public function updateOutil()
{
$o = new Outillage($_POST["art"]);
$o->__set("id", $_POST["id"]);
$o->__set("id_art", $_POST["id_art"]);
$o->__set("article", $_POST["art"]);
$o->__set("id_doc", $_POST["id_doc"]);
$o->__set("document", $_POST["doc"]);
$o->__set("ilot", ilot::findAllByName($_POST["ilot"]));
$o->__set("emplacement", $_POST["emplacement"]);
$o->__set("liste_tubes", $_POST["liste_tubes"]);
define('TARGET', $_SERVER['DOCUMENT_ROOT'].'imageOutil/'); // Repertoire cible
define('MAX_SIZE', 5300000); // Taille max en octets du fichier
define('WIDTH_MAX', 5000); // Largeur max de l'image en pixels
define('HEIGHT_MAX', 5000); // Hauteur max de l'image en pixels
// Tableaux de donnees
$tabExt = array('jpg','gif','png','jpeg'); // Extensions autorisees
$infosImg = array();
// Variables
$extension = '';
$nomImage = '';
$message='';
$cpt='';
/************************************************************
* Creation du repertoire cible si inexistant
*************************************************************/
if( !is_dir(TARGET) ) {
if( !mkdir(TARGET, 0755) ) {
exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
}
}
/************************************************************
* Script d'upload
*************************************************************/
if(!empty($_POST['image']))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier']['error'])&& UPLOAD_ERR_OK === $_FILES['fichier']['error']){
// On nomme le fichier
$nomImage=$_POST['image'];
//On verifie qu'aucun fichier du même nom existe
if(!file_exists (TARGET.$nomImage)) {
// Si c'est OK, on teste l'upload
try{
move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET . $nomImage);
$o->__set("image", 'imageOutil/'. $nomImage); //TARGET . $nomImage => D:/Documents and Settings/raphael.delric/Mes documents/Mes Outils Personnels/*/UwAmp/www//imageOutil/*
$message1= '<br/>L\'opération a été effectuée avec succès!';
} catch (Exception $e) {
// Sinon on affiche une erreur systeme
$o->__set("image", 'imageOutil/'. $nomImage . time());
$message1= '<br/>Problème lors de l\'enregistrement de l\'image 1 !';
$message1.= $e->getMessage();
}
}
else{
$newNomImage= date('His',time()). $nomImage;
move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET . $newNomImage);
$o->__set("image", 'imageOutil/' . $newNomImage);
$message1= '<br/>Un fichier image du même nom que image 1 est déjà existant.';
$message1.= '<br/>L\image a donc été enregistrée comme suis [heures:minutes:secondes][votre nom de fichier].[votre extension]. '.$newNomImage;
}
}
else
{
$message1= '<br/>Une erreur interne a empêché l\'enregistrement de l\'image';
$message1.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message1= '<br/>Erreur dans les dimensions de l\'image !';
$message1.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur le type de l'image
$message1= '<br/>Le fichier à uploader n\'est pas une image !';
$message1.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message1= '<br/>L\'extension du fichier est incorrecte ! Extension attendue : .jpg, .gif, .png, .jpeg';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message1= '<br/>Pas de Fichier ajouté pour l\'image 1 !';
$cpt.='A';
}
}
else{
$message1= '<br/>Vous n\'avez pas nommez l\'image 1 !';
}
$message=$message1;
if(!empty($_POST['image2']))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier2']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier2']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier2']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier2']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier2']['error'])&& UPLOAD_ERR_OK === $_FILES['fichier2']['error']){
// On nomme le fichier
$nomImage=$_POST['image2'];
//On verifie qu'aucun fichier du même nom existe
if(!file_exists (TARGET.$nomImage)) {
// Si c'est OK, on teste l'upload
try{
move_uploaded_file($_FILES['fichier2']['tmp_name'], TARGET . $nomImage);
$o->__set("image2", 'imageOutil/'. $nomImage); //TARGET . $nomImage => D:/Documents and Settings/raphael.delric/Mes documents/Mes Outils Personnels/*/UwAmp/www//imageOutil/*
$message2= '<br/>L\'opération a été effectuée avec succès!';
} catch (Exception $e) {
// Sinon on affiche une erreur systeme
$o->__set("image2", 'imageOutil/'. $nomImage . time());
$message2= '<br/>Problème lors de l\'enregistrement de l\'image 1 !';
$message2.= $e->getMessage();
}
}
else{
$newNomImage= date('His',time()). $nomImage;
move_uploaded_file($_FILES['fichier2']['tmp_name'], TARGET . $newNomImage);
$o->__set("image2", 'imageOutil/' . $newNomImage);
$message2= '<br/>Un fichier image du même nom que image 2 est déjà existant.';
$message2.= '<br/>L\image a donc été enregistrée comme suis [heures:minutes:secondes][votre nom de fichier].[votre extension]. '.$newNomImage;
}
}
else
{
$message2= '<br/>Une erreur interne a empêché l\'enregistrement de l\'image';
$message2.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message2= '<br/>Erreur dans les dimensions de l\'image !';
$message2.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur le type de l'image
$message2= '<br/>Le fichier à uploader n\'est pas une image !';
$message2.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message2= '<br/>L\'extension du fichier est incorrecte ! Extension attendue : .jpg, .gif, .png, .jpeg';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message2= '<br/>Pas de Fichier ajouté pour l\'image 2 !';
$cpt.='B';
}
}
else{
$message2= '<br/>Vous n\'avez pas nommez l\'image 2 !';
}
$message.=$message2;
if(!empty($_POST['image3']))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier3']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier3']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier3']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier3']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier3']['error'])&& UPLOAD_ERR_OK === $_FILES['fichier3']['error']){
// On nomme le fichier
$nomImage=$_POST['image3'];
//On verifie qu'aucun fichier du même nom existe
if(!file_exists (TARGET.$nomImage)) {
// Si c'est OK, on teste l'upload
try{
move_uploaded_file($_FILES['fichier3']['tmp_name'], TARGET . $nomImage);
$o->__set("image3", 'imageOutil/'. $nomImage); //TARGET . $nomImage => D:/Documents and Settings/raphael.delric/Mes documents/Mes Outils Personnels/*/UwAmp/www//imageOutil/*
$message3= '<br/>L\'opération a été effectuée avec succès!';
} catch (Exception $e) {
// Sinon on affiche une erreur systeme
$o->__set("image3", 'imageOutil/'. $nomImage . time());
$message3= '<br/>Problème lors de l\'enregistrement de l\'image 1 !';
$message3.= $e->getMessage();
}
}
else{
$newNomImage= date('His',time()). $nomImage;
move_uploaded_file($_FILES['fichier3']['tmp_name'], TARGET . $newNomImage);
$o->__set("image3", 'imageOutil/' . $newNomImage);
$message3= '<br/>Un fichier image du même nom que image 3 est déjà existant.';
$message3.= '<br/>L\image a donc été enregistrée comme suis [heures:minutes:secondes][votre nom de fichier].[votre extension]. '.$newNomImage;
}
}
else
{
$message3= '<br/>Une erreur interne a empêché l\'enregistrement de l\'image';
$message3.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message3= '<br/>Erreur dans les dimensions de l\'image !';
$message3.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur le type de l'image
$message3= '<br/>Le fichier à uploader n\'est pas une image !';
$message3.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message3= '<br/>L\'extension du fichier est incorrecte ! Extension attendue : .jpg, .gif, .png, .jpeg';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message3= '<br/>Pas de Fichier ajouté pour l\'image 3 !';
$cpt.='C';
}
}
else{
$message3= '<br/>Vous n\'avez pas nommez l\'image 3 !';
}
$message.=$message3;
if(!empty($_POST['image4']))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier4']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier4']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier4']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier4']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier4']['error'])&& UPLOAD_ERR_OK === $_FILES['fichier4']['error']){
// On nomme le fichier
$nomImage=$_POST['image4'];
//On verifie qu'aucun fichier du même nom existe
if(!file_exists (TARGET.$nomImage)) {
// Si c'est OK, on teste l'upload
try{
move_uploaded_file($_FILES['fichier4']['tmp_name'], TARGET . $nomImage);
$o->__set("image4", 'imageOutil/'. $nomImage); //TARGET . $nomImage => D:/Documents and Settings/raphael.delric/Mes documents/Mes Outils Personnels/*/UwAmp/www//imageOutil/*
$message4= '<br/>L\'opération a été effectuée avec succès!';
} catch (Exception $e) {
// Sinon on affiche une erreur systeme
$o->__set("image4", 'imageOutil/'. $nomImage . time());
$message4= '<br/>Problème lors de l\'enregistrement de l\'image 1 !';
$message4.= $e->getMessage();
}
}
else{
$newNomImage= date('His',time()). $nomImage;
move_uploaded_file($_FILES['fichier4']['tmp_name'], TARGET . $newNomImage);
$o->__set("image4", 'imageOutil/' . $newNomImage);
$message4= '<br/>Un fichier image du même nom que image 4 est déjà existant.';
$message4.= '<br/>L\image a donc été enregistrée comme suis [heures:minutes:secondes][votre nom de fichier].[votre extension]. '.$newNomImage;
}
}
else
{
$message4= '<br/>Une erreur interne a empêché l\'enregistrement de l\'image';
$message4.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message4= '<br/>Erreur dans les dimensions de l\'image !';
$message4.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur le type de l'image
$message4= '<br/>Le fichier à uploader n\'est pas une image !';
$message4.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message4= '<br/>L\'extension du fichier est incorrecte ! Extension attendue : .jpg, .gif, .png, .jpeg';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message4= '<br/>Pas de Fichier ajouté pour l\'image 4 !';
$cpt.='D';
}
}
else{
$message4= '<br/>Rien pour l\'image 4 !';
}
$message.=$message4;
if(!empty($_POST['image5']))
{
// On verifie si le champ est rempli
if( !empty($_FILES['fichier5']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['fichier5']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['fichier5']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier5']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['fichier5']['error'])&& UPLOAD_ERR_OK === $_FILES['fichier5']['error']){
// On nomme le fichier
$nomImage=$_POST['image5'];
//On verifie qu'aucun fichier du même nom existe
if(!file_exists (TARGET.$nomImage)) {
// Si c'est OK, on teste l'upload
try{
move_uploaded_file($_FILES['fichier5']['tmp_name'], TARGET . $nomImage);
$o->__set("image5", 'imageOutil/'. $nomImage); //TARGET . $nomImage => D:/Documents and Settings/raphael.delric/Mes documents/Mes Outils Personnels/*/UwAmp/www//imageOutil/*
$message5= '<br/>L\'opération a été effectuée avec succès!';
} catch (Exception $e) {
// Sinon on affiche une erreur systeme
$o->__set("image5", 'imageOutil/'. $nomImage . time());
$message5= '<br/>Problème lors de l\'enregistrement de l\'image 1 !';
$message5.= $e->getMessage();
}
}
else{
$newNomImage= date('His',time()). $nomImage;
move_uploaded_file($_FILES['fichier5']['tmp_name'], TARGET . $newNomImage);
$o->__set("image5", 'imageOutil/' . $newNomImage);
$message5= '<br/>Un fichier image du même nom que image 5 est déjà existant.';
$message5.= '<br/>L\image a donc été enregistrée comme suis [heures:minutes:secondes][votre nom de fichier].[votre extension]. '.$newNomImage;
}
}
else
{
$message5= '<br/>Une erreur interne a empêché l\'enregistrement de l\'image';
$message5.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message5= '<br/>Erreur dans les dimensions de l\'image !';
$message5.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon erreur sur le type de l'image
$message5= '<br/>Le fichier à uploader n\'est pas une image !';
$message5.= '<br/>L\'enregistrement de l\'image n\'a donc pas été pris en compte.';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message5= '<br/>L\'extension du fichier est incorrecte ! Extension attendue : .jpg, .gif, .png, .jpeg';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message5= '<br/>Pas de Fichier ajouté pour l\'image 5 !';
$cpt.='E';
}
}
else{
$message5= '<br/>Rien pour l\'image 5 !';
}
$message.=$message5;
$o->updateImg($cpt);
header('Location: /Site.php?a=outillage&b='.urlencode($message));
}
这里是 updateImg 函数,它应该按如下方式执行 sql 请求:
public function updateImg($cpt){
$c=Base::getConnection();
$posA=strpos($cpt,'A');
$posB=strpos($cpt,'B');
$posD=strpos($cpt,'C');
$posE=strpos($cpt,'D');
$posF=strpos($cpt,'E');
$q='UPDATE outillage SET id_art=:id_art, article=:article, id_doc=:id_doc, document=:document, ilot=:ilot, emplacement=:emplacement, liste_tubes=:liste_tubes';
if ($posA===false) {
$q.=", image=:image";
}
if ($posB===false){
$q.=", image2=:image2";
}
if ($posD===false){
$q.=", image3=:image3";
}
if ($posE===false){
$q.=", image4=:image4";
}
if ($posF===false){
$q.=", image5=:image5";
}
$q.="WHERE id=:id;";
$query=$c->prepare($q);
$query->bindParam(':id',$this->id,PDO::PARAM_INT);
$query->bindParam(':id_art',$this->id_art,PDO::PARAM_INT);
$query->bindParam(':article',$this->article,PDO::PARAM_STR);
$query->bindParam(':id_doc',$this->id_doc,PDO::PARAM_STR);
$query->bindParam(':document',$this->document,PDO::PARAM_STR);
$query->bindParam(':ilot',$this->ilot,PDO::PARAM_INT);
$query->bindParam(':emplacement',$this->emplacement,PDO::PARAM_STR);
$query->bindParam(':liste_tubes',$this->liste_tubes,PDO::PARAM_STR);
if ($posA===false){
$query->bindParam(':image',$this->image,PDO::PARAM_STR);
}
if ($posB===false){
$query->bindParam(':image2',$this->image2,PDO::PARAM_STR);
}
if ($posD===false){
$query->bindParam(':image3',$this->image3,PDO::PARAM_STR);
}
if ($posE===false){
$query->bindParam(':image4',$this->image4,PDO::PARAM_STR);
}
if ($posF==false){
$query->bindParam(':image5',$this->image5,PDO::PARAM_STR);
}
$query->execute();
我没有收到任何错误。但是当我测试这些时,我从 updateOutil() 得到了正确的“消息”,但我的数据库没有更新。我认为这是关于我如何“构建”我的 SQL 请求的问题。
我四处搜索,找不到任何有用的主题。由于几个小时以来我一直坚持这一点,我们将不胜感激 :-)
最佳答案
使用var_dump()查看您的变量并调试您的应用程序。如果出现问题,您至少应该得到一个异常(exception)。
关于php - 无法在 PHP 中触发 SQL 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34045620/
我在 JavaScript 文件中运行 PHP,例如...... var = '';). 我需要使用 JavaScript 来扫描字符串中的 PHP 定界符(打开和关闭 PHP 的 )。 我已经知道使
我希望能够做这样的事情: php --determine-oldest-supported-php-version test.php 并得到这个输出: 7.2 也就是说,php 二进制检查 test.
我正在开发一个目前不使用任何框架的大型 php 站点。我的大问题是,随着时间的推移慢慢尝试将框架融入应用程序是否可取,例如在创建的新部件和更新的旧部件中? 比如所有的页面都是直接通过url服务的,有几
下面是我的源代码,我想在同一页面顶部的另一个 php 脚本中使用位于底部 php 脚本的变量 $r1。我需要一个简单的解决方案来解决这个问题。我想在代码中存在的更新查询中使用该变量。 $name)
我正在制作一个网站,根据不同的情况进行大量 PHP 重定向。就像这样...... header("Location: somesite.com/redirectedpage.php"); 为了安全起见
我有一个旧网站,我的 php 标签从 因为短标签已经显示出安全问题,并且在未来的版本中将不被支持。 关于php - 如何避免在 php 文件中写入
我有一个用 PHP 编写的配置文件,如下所示, 所以我想用PHP开发一个接口(interface),它可以编辑文件值,如$WEBPATH , $ACCOUNTPATH和 const值(value)观
我试图制作一个登录页面来学习基本的PHP,首先我希望我的独立PHP文件存储HTML文件的输入(带有表单),但是当我按下按钮时(触发POST到PHP脚本) )我一直收到令人不愉快的错误。 我已经搜索了S
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: What is the max key size for an array in PHP? 正如标题所说,我想知道
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我在 MySQL 数据库中有一个表,其中存储餐厅在每个工作日和时段提供的菜单。 表结构如下: i_type i_name i_cost i_day i_start i_
我有两页。 test1.php 和 test2.php。 我想做的就是在 test1.php 上点击提交,并将 test2.php 显示在 div 中。这实际上工作正常,但我需要向 test2.php
我得到了这个代码。我想通过textarea更新mysql。我在textarea中回显我的MySQL,但我不知道如何更新它,我应该把所有东西都放进去吗,因为_GET模式没有给我任何东西,我也尝试_GET
首先,我是 php 的新手,所以我仍在努力学习。我在 Wordpress 上创建了一个表单,我想将值插入一个表(data_test 表,我已经管理了),然后从 data_test 表中获取所有列(id
我有以下函数可以清理用户或网址的输入: function SanitizeString($var) { $var=stripslashes($var); $va
我有一个 html 页面,它使用 php 文件查询数据库,然后让用户登录,否则拒绝访问。我遇到的问题是它只是重定向到 php 文件的 url,并且从不对发生的事情提供反馈。这是我第一次使用 html、
我有一个页面充满了指向 pdf 的链接,我想跟踪哪些链接被单击。我以为我可以做如下的事情,但遇到了问题: query($sql); if($result){
我正在使用 从外部文本文件加载 HTML/PHP 代码 $f = fopen($filename, "r"); while ($line = fgets($f, 4096)) { print $l
我是一名优秀的程序员,十分优秀!