Перейти к контенту

Ищу простенький скрипт


Рекомендуемые сообщения

А как ссылку в базу добавить?

Есть форма с выбором типа (ftp,http и тд)

При передаче данных скрипту ему надо узнать какой тип указали и вставить ссылку типа вот как я нарисовал (правда это не работает :D )

if ($HTTP_GET_VARS["type"] == "ftp") {
      {
      $remote = $REMOTE_ADDR;
       $add = "<a href='ftp://$remote'>перейти</a>";

      $type = $add;
      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')";

  else {
  echo "error.";
   exit;   } }  }

Ссылка на комментарий
Поделиться на других сайтах

Объясню поподробнее.

 

При заполнении формы юзер указывает значения (ftp,http,radio,games,samba)

После нажатия submit данные отправляются скрипту, который их обрабатывает и добавляет в бд.

сам скрипт ниже

<?php

   require_once ('ini.php');
   mysql_connect ("$host", "$user_db", "$pass_db");
   mysql_select_db("$dbase");
   $type = $HTTP_GET_VARS["type"];
   $name = $HTTP_GET_VARS["name"];
   $description = $HTTP_GET_VARS["description"];
   $password = $HTTP_GET_VARS["password"];
   $ip = $REMOTE_ADDR;
   $dns = $HTTP_GET_VARS["dns"];
   $lan = $HTTP_GET_VARS["lan"];
   $time = $HTTP_GET_VARS["time"];
   $icq = $HTTP_GET_VARS["icq"];
   $ipdetect = $REMOTE_ADDR;
          // проверки на отсутствие заполнения форм.
          # 1.
          // dns-имя, возвращает else если не указано.
          if ((!$dns) || ($dns < 0)) {
      $dns = 'Не указан';
      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')"; }

   else {
      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')"; }

      # 2.
      // описание, возвращает else если не указано.
      if ((!$description) || ($description < 0)) {
      $description = 'Не указано';
      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')"; }

   else {
      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')"; }

      # 3.
      // сегмент\сеть, возвращает else если не указана.
      if ((!$lan) || ($lan < 0)) {
      $lan = 'Не указана';
      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')"; }

   else {
      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')"; }

      # 4.
      //  время работы, возвращает else если не указано.
      if ((!$time) || ($time < 0)) {
      $time = 'Не указано';
      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')"; }

   else {
      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')"; }

      # 5.
      // icq-номер владельца, возвращает else если не указано.
      if ((!$icq) || ($icq < 0)) {
      $icq = 'Не указан';
      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')"; }

   else {
      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')"; }

      // Проверка на отсутствие заполнения необходимых форм.

      // Name
      if ((!$name) || ($name < 0)) {
      {

  echo "Вы не указали имя ресурса! Вернитесь назад и повторите попытку.";
   exit;   } }

      // Password
       if ((!$password) || ($password < 0)) {
      {

  echo "Вы не указали пароль! Вернитесь назад и повторите попытку.";
   exit;   } }
   // А теперь будем вставлять ип как ссылку в зависимости от типа ресурса.
     if ($HTTP_GET_VARS["type"] == "ftp") {
      {
      $remote = $REMOTE_ADDR;
      $type = $add;
      $add = "<a href='ftp://$remote'>перейти</a>";
      $add = str_replace("'", "\'", $add);


      $sql = "INSERT INTO $dtable (id,type,name,description,ip,dns,lan,time,icq,ipdetect,password) ";
      $sql .= "VALUES ('','$type','$name','$description','$ip','$dns','$lan','$time','$icq','$ipdetect','$password')";

   echo "error.";

   exit;   } }

            $result = mysql_query($sql);

      if(!$result) {

   echo "<H2>Ошибка!</H2>\n";
      echo mysql_errno().":  ".mysql_error()."<P>"; }
   else {

   print "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL=index.php\">";

   echo "Ресурс <b>$name</b> был успешно добавлен! Переходим на главную страницу..."; }
?>

 

Задача: вставить введенные данные в форме в базу данных как ссылку вида ,a href='Ip-адрес добавившего'>перейти</a>

Ип-адрес в форме передается и добавляется в бд автоматически через $REMOTE_ADDR.

Вроде все.

Изменено пользователем Felix
Ссылка на комментарий
Поделиться на других сайтах

во-первых, сразу замените везде $HTTP_GET_VARS на $_GET

 

во-вторых, уже говорил, лучше от GET отказываться и переходить к POST, переменные могут быть длиннее 56 символов :D

 

дальше

$remote = $REMOTE_ADDR;

меняем на

$remote = $_SERVER['REMOTE_ADDR'];

 

$add = "<a href='ftp://$remote'>перейти</a>";

меняем на

$add = "<a href=\"ftp://".$remote."\">перейти</a>";

 

в таком случае след. строку можно опустить

$add = str_replace("'", "\'", $add);

 

 

а дальше уже надо добавлять везде эхо (echo) и смотреть, что и где передается/получается

Ссылка на комментарий
Поделиться на других сайтах

Вообщем все хорошо, спасибо, правда ссылка так и не отображается, сам я подозреваю это или в

if ($HTTP_GET_VARS["type"] == "ftp") {

 

или в бд надо не varchar указать...

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.