модернизация кода

Discussion in 'PHP' started by Zmii666, 21 Mar 2019.

  1. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Добрый вечер ачатовцы, есть вот такой код
    Code:
    <html>
    <form id="auth" method="POST" action="index.php">
    
    <p>vibiri chara:</p>
      <div>
        <input type="radio" id="contactChoice1"
         name="owner" value="268483981">
        <label for="contactChoice1">zmiitank</label>
    
        <input type="radio" id="contactChoice2"
         name="owner" value="268477237">
        <label for="contactChoice2">nitrogen</label>
    
        <input type="radio" id="contactChoice3"
         name="owner" value="268482873">
        <label for="contactChoice3">Soska</label>
    
        <input type="radio" id="contactChoice4"
         name="owner" value="268485602">
        <label for="contactChoice4">zmiimag</label>
    
        <input type="radio" id="contactChoice5"
         name="owner" value="268484952">
        <label for="contactChoice5">zmiidwarf</label>
    
      </div>
    <hr>
    <p>vibiri items:</p>
      <div>
        <input type="radio" id="contactChoice1"
         name="item" value="57">
        <label for="contactChoice1">adena</label>
    <br>
        <input type="radio" id="contactChoice2"
         name="item" value="4037">
        <label for="contactChoice2">Coin of luck</label>
    <br>
        <input type="radio" id="contactChoice3"
         name="item" value="6673">
        <label for="contactChoice3">Festival adena</label>
    <hr><br>
        <input type="radio" id="contactChoice4"
         name="item" value="6659">
        <label for="contactChoice4">Zaken</label>
    <br>
        <input type="radio" id="contactChoice5"
         name="item" value="6657">
        <label for="contactChoice5">valakas</label>
    <br>
        <input type="radio" id="contactChoice6"
         name="item" value="6656">
        <label for="contactChoice6">Antaras</label>
    <br>
        <input type="radio" id="contactChoice7"
         name="item" value="6658">
        <label for="contactChoice7">bayum</label>
    <br>
        <input type="radio" id="contactChoice8"
         name="item" value="6660">
        <label for="contactChoice8">Queen</label>
    <br>
        <input type="radio" id="contactChoice9"
         name="item" value="6661">
        <label for="contactChoice9">Orfen</label>
    <br>
        <input type="radio" id="contactChoice10"
         name="item" value="6662">
        <label for="contactChoice10">Core</label>
    <br>
        <input type="radio" id="contactChoice11"
         name="item" value="728">
        <label for="contactChoice11">Mana</label>
    <br>
        <input type="radio" id="contactChoice12"
         name="item" value="6608">
        <label for="contactChoice12">Arcana Mace acumen</label>
    <br>
        <input type="radio" id="contactChoice13"
         name="item" value="6607">
        <label for="contactChoice13">Heavens Divider Focus</label>
    <br>
        <input type="radio" id="contactChoice14"
         name="item" value="6597">
        <label for="contactChoice14">Dragon Hunter Axe Health</label>
    <br>
        <input type="radio" id="contactChoice15"
         name="item" value="6595">
        <label for="contactChoice15">Shining Bow Critical</label>
    <br>
        <input type="radio" id="contactChoice16"
         name="item" value="6592">
        <label for="contactChoice16">Angel Slaer Haste</label>
    <br>
        <input type="radio" id="contactChoice17"
         name="item" value="6585">
        <label for="contactChoice17">Basalt Battlehammer Helth</label>
    <br>
        <input type="radio" id="contactChoice18"
         name="item" value="6583">
        <label for="contactChoice18">Forgotten Blade Focus</label>
    <hr><br>
        <input type="radio" id="contactChoice19"
         name="item" value="9211">
        <label for="contactChoice19">Rune exp 50%</label>
    <br>
        <input type="radio" id="contactChoice20"
         name="item" value="9213">
        <label for="contactChoice20">Rune sp 50%</label>
    <br>
        <input type="radio" id="contactChoice21"
         name="item" value="9215">
        <label for="contactChoice21">Rune drop 50%</label>
    <br>
        <input type="radio" id="contactChoice22"
         name="item" value="9220">
        <label for="contactChoice22">Rune hp</label>
    <br>
        <input type="radio" id="contactChoice23"
         name="item" value="9221">
        <label for="contactChoice23">Rune mp</label>
    <br>
        <input type="radio" id="contactChoice24"
         name="item" value="9222">
        <label for="contactChoice24">Rune atack speed</label>
    <br>
        <input type="radio" id="contactChoice25"
         name="item" value="9223">
        <label for="contactChoice25">Rune wit int</label>
    <br>
        <input type="radio" id="contactChoice26"
         name="item" value="9224">
        <label for="contactChoice26">Rune M.atack</label>
    <br>
        <input type="radio" id="contactChoice27"
         name="item" value="9225">
        <label for="contactChoice27">Rune P.Atack</label>
    <br>
        <input type="radio" id="contactChoice28"
         name="item" value="9226">
        <label for="contactChoice28">Rune M.def</label>
    <br>
        <input type="radio" id="contactChoice29"
         name="item" value="9227">
        <label for="contactChoice29">Rune P.def</label>
    <br>
        <input type="radio" id="contactChoice30"
         name="item" value="9228">
        <label for="contactChoice30">Rune M.atack speed 50%</label>
    <br>
        <input type="radio" id="contactChoice31"
         name="item" value="9229">
        <label for="contactChoice31">Rune P.atack speed 50%</label>
    <br>
        <input type="radio" id="contactChoice32"
         name="item" value="9230">
        <label for="contactChoice32">Rune P.def 50%</label>
    <br>
        <input type="radio" id="contactChoice33"
         name="item" value="9231">
        <label for="contactChoice33">Rune M.def 50%</label>
    <br>
        <input type="radio" id="contactChoice34"
         name="item" value="9232">
        <label for="contactChoice34">Rune STR and DEX</label>
    <br>
        <input type="radio" id="contactChoice35"
         name="item" value="9233">
        <label for="contactChoice35">Rune Def water</label>
    <br>
        <input type="radio" id="contactChoice36"
         name="item" value="9234">
        <label for="contactChoice36">Rune Def fire</label>
    <br>
        <input type="radio" id="contactChoice37"
         name="item" value="9235">
        <label for="contactChoice37">Rune Def wind</label>
    <br>
        <input type="radio" id="contactChoice38"
         name="item" value="9236">
        <label for="contactChoice38">Rune Def earth</label>
    <br>
        <input type="radio" id="contactChoice39"
         name="item" value="9237">
        <label for="contactChoice39">Rune Resist stun</label>
    <br>
        <input type="radio" id="contactChoice40"
         name="item" value="9238">
        <label for="contactChoice40">Rune SP/XP/Drop 50%</label>
    <br>
        <input type="radio" id="contactChoice41"
         name="item" value="9239">
        <label for="contactChoice41">Rune Regeneration</label>
    
      </div><br>
    enchant      <input type="text" placeholder="enchant" name="enchant"></br>
    <br>
    count          <input type="text" placeholder="count" name="count"></br>
    <hr>
        <input type="submit" value="Create">
        </form>
    </html>
    
    <?php
    $char = $_POST['owner'];
    $item = $_POST['item'];
    $count = $_POST['count'];
    $enchant = $_POST['enchant'];
    echo "char : $char </br>";
    echo "item :  $item </br>";
    echo "enchant :  $enchant </br>";
    echo "count :  $count </br>";
    
    $servername = "192.168.*****";
    $database = "*****";
    $username = "*****";
    $password = "******";
    
    // Create connection
    $conn = mysqli_connect($servername, $username, $password, $database);
    
    // Check connection
    if (!$conn) {
          die("Connection failed: " . mysqli_connect_error());
    }
     
    echo "Connected successfully<br>";
    
     
    $sql = "INSERT INTO items_delayed (owner_id, item_id, count, enchant_level) VALUES ('$char', '$item', '$count', '$enchant')";
    if (mysqli_query($conn, $sql)) {
          echo "New record created successfully";
    } else {
          echo "Error: " . $sql . "<br><br>" . mysqli_error($conn);
    }
    mysqli_close($conn);
    ?>
    что делает этот код?
    он добавляет определенный итем по айди через радио кнопку с заранее прописанным айди,
    здесь
    Code:
    <input type="radio" id="contactChoice1"
         name="owner" value="268483981">
        <label for="contactChoice1">zmiitank</label>
    радио кнопка с айди чаром в игре,
    вопрос как сделать чтоб радио кнопки сами формировались точнее значения "value="268483981"
    брались из бд ? а то мне приходится вручную править и добавлять айди чаров "value="268483981">"
     
  2. failsafe

    failsafe Member

    Joined:
    1 Apr 2016
    Messages:
    35
    Likes Received:
    10
    Reputations:
    2
    ну очевидно, нужно делать select запрос в таблицу с "айди чаров" и html код с радиобаттоном засунуть внутрь цикла с результатами этого запроса :)
     
  3. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Извиняюсь, вот сюды как хтмл инпут радиобатон запихать? :D
    while($row = mysqli_fetch_array($res))
    {
    echo "<br><br>Login: ".$row['account_name']."\n";
    echo "<br> Char_name: ".$row['char_name']."\n";
    echo "<br>Char_id: ".$row['obj_Id'].\n";
    }
     
  4. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    значение вот это нужно получается как то в такую конструкцию запихать
    <input type="radio" id="contactChoice1" name="owner" value="$row['obj_Id']"><label for="contactChoice1">char_id</label>
     
  5. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    У меня знаний не хватает просто как реализовать :oops:
    Хочу форму реализовать так чтоб был выпадающий список формировался из значений взятых из одной таблицы,
    Code:
    <?php
    /*Соединяемся с базой и делаем выборку из таблицы*/
    mysql_connect("", "", "");
    mysql_select_db("");
    $query = "SELECT * FROM characters";
    $result = mysql_query($query);
    while ($row = mysql_fetch_array($result)){
    echo "<br>$row[char_name]";
    }
    ?>
    Выбираешь то что тебе нужно к примеру, затем подставляешь дополнительные значения в другие поля и отправляешь в другую таблицу.
    Не нашел в инете как "селект" и "инсерт" в форму запихнуть (
     
  6. Тот_самый_Щуп

    Тот_самый_Щуп Reservists Of Antichat

    Joined:
    23 Mar 2017
    Messages:
    265
    Likes Received:
    173
    Reputations:
    119
    Он добавляет на сайт SQL иньекцию :)
     
    failsafe likes this.
  7. failsafe

    failsafe Member

    Joined:
    1 Apr 2016
    Messages:
    35
    Likes Received:
    10
    Reputations:
    2
    что то такое должно получиться. И да, тут сплошная инъекция
    PHP:
    <?php

    $servername 
    "192.168.*****";
    $database "*****";
    $username "*****";
    $password "******";

    // Create connection
    $conn mysqli_connect($servername$username$password$database);

    // Check connection
    if (!$conn) {
        die(
    "Connection failed: " mysqli_connect_error());
    }

    if (
    $_POST) {
        
    $char $_POST['owner'];
        
    $item $_POST['item'];
        
    $count $_POST['count'];
        
    $enchant $_POST['enchant'];
        echo 
    "char : $char </br>";
        echo 
    "item :  $item </br>";
        echo 
    "enchant :  $enchant </br>";
        echo 
    "count :  $count </br>";

        
    $sql "INSERT INTO items_delayed (owner_id, item_id, count, enchant_level) VALUES ('$char', '$item', '$count', '$enchant')";
        if (
    mysqli_query($conn$sql)) {
            echo 
    "New record created successfully";
        } else {
            echo 
    "Error: " $sql "<br><br>" mysqli_error($conn);
        }
    }
    ?>

    <html>
    <form id="auth" method="POST" action="index.php">

        <p>vibiri chara:</p>
        <div>
            <input type="radio" id="contactChoice1"
                   name="owner" value="268483981">
            <label for="contactChoice1">zmiitank</label>

            <input type="radio" id="contactChoice2"
                   name="owner" value="268477237">
            <label for="contactChoice2">nitrogen</label>

            <input type="radio" id="contactChoice3"
                   name="owner" value="268482873">
            <label for="contactChoice3">Soska</label>

            <input type="radio" id="contactChoice4"
                   name="owner" value="268485602">
            <label for="contactChoice4">zmiimag</label>

            <input type="radio" id="contactChoice5"
                   name="owner" value="268484952">
            <label for="contactChoice5">zmiidwarf</label>

        </div>
        <hr>
        <p>vibiri items:</p>
        <div>
            <?php $res mysqli_query($conn"SELECT * FROM characters"); ?>
            <?php $i 0; while($row mysqli_fetch_array($res)) { $i ++; ?>
            <input type="radio" id="contactChoice<?php $i ?>" name="item" value="<?php $row['obj_Id'?>">
            <label for="contactChoice<?php $i ?>"><?php $row['name'?></label>
            <br>
            <?php ?>
        </div><br>
        enchant      <input type="text" placeholder="enchant" name="enchant"></br>
        <br>
        count          <input type="text" placeholder="count" name="count"></br>
        <hr>
        <input type="submit" value="Create">
    </form>
    </html>
    <?php mysqli_close($conn);?>
     
  8. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    скрипт нужен для локальных нужд
     
  9. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    Спасибо заработало после того как
    <input type="radio" id="contactChoice<?php $i ?>" name="char_name" value="<?php echo $row['obj_Id'] ?>">
    <label for="contactChoice<?php $i ?>"><?php echo $row['char_name'] ?></label>
    добавил echo
     
  10. failsafe

    failsafe Member

    Joined:
    1 Apr 2016
    Messages:
    35
    Likes Received:
    10
    Reputations:
    2
    да, сейчас вспоминаю, что нужно вроде обрамлять <?= ?> чтобы выводить переменную без echo, на пыхе давно не писал.
    И перед $i тоже тогда надо echo , если нужен цифровой суффикс после contactChoice
     
  11. Zmii666

    Zmii666 New Member

    Joined:
    4 Sep 2012
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    все равно спасибо, очень помогли