Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: phren в Dec 10, 2011, 14:36



Титла: PHP скрипт
Публикувано от: phren в Dec 10, 2011, 14:36
Здравейте,

Тъй като не съм добър в PHP ще опитам да намеря решение при Вас, хората, които са наясно с нещата.

Имам за задачкам да адаптирам, автоматично създаване на акаунт в phpBB (ех, дано не ме нахраните много). С това успях да се справя, но проблема ми е, че юзър/пас/мейл са статично зададени във въпросния .php, който успях да сглобя.

Тъй като се очаквам да адаптирам скрипта да отговаря на външно АПИ, ми се налага да задам въпросните параметри като променливи. В крайна сметка, целта ми е да се стигне до GET заявка от вида: http://server.com/add_user.php?user=XXX&pass=XXX&email=XXX

И точно тук ми е проблема. Ще прикача файла, който имам, и ще се надявам някой от Вас да ми обърне 5 минути внимание.
Моля, не бъдете прекалено критични ;)

пс. разбира се, ще "почерпя" :)


Титла: Re: PHP скрипт
Публикувано от: b2l в Dec 10, 2011, 14:45
 :o ще пращаш user и pass по GET.
Код
GeSHi (PHP):
  1. $username = GET['username];
  2. $password = GET['password'];
  3. $user_mail = GET['user_mail'];
  4.  
  5. $user_row = array(
  6.    'username' => $username,
  7.    'user_password' => md5($password),
  8.    'user_email' => $user_mail,
  9.    'group_id' => 2,
  10.    'user_timezone' => 0,
  11.    'user_dst' => 1,
  12.    'user_lang' => 'en',
  13.    'user_type' => 0,
  14.    'user_actkey' => '',
  15.    'user_dateformat' => 'D M d, Y g:i a',
  16.    'user_style' => 1,
  17.    'user_regdate' => time(),
  18.        );

Taка като гледам нямаш проблеми. Просто трябва да си направиш една форма от рода на:
Код
GeSHi (HTML):
  1. <form action="./add_user.php" method="get">
  2. <input class="login_fields" type="text" value="Username" name="username" />
  3. <input class="login_fields" type="password" value="Password" name="password" />
  4. <input class="login_fields" type="text" value="User Mail" name="user_mail" />
  5. <input type="submit" class="loginForm_submit" name="submit" value="submit"/>
  6. </form>


Титла: Re: PHP скрипт
Публикувано от: phren в Dec 10, 2011, 15:54
хиляди благодарности за отговора.

да, идеята да пращам сензетивна информация с GET не е добра идея, но няма как.
апито директно ще подава юзър/пас/мейл, и няма как това да става на ръка за съжаление.

ако не съм те разбрал правилно, и си ми дал правилното решение, извини ме, аз съм прост админ :) мога да инсталирам, да конфигурирам, рутирам, спирам, и т.н. ама като опре до шефа "абе трябва ми тука едно малко нещо" просто откачам

мн мн благодаря за бързия отговор

едит: нямаше начин да не опитам дали ще стане, но сега гърми ето така
PHP Parse error:  syntax error, unexpected '[' in /XX/XX/XX/XX/htdocs/add_user.php on line 22



Титла: Re: PHP скрипт
Публикувано от: b2l в Dec 10, 2011, 17:30
Код
GeSHi (PHP):
  1. 'user_regdate' => time()

Няма запетая на последния ред. Я кажи какво има на 22 ред.


Титла: Re: PHP скрипт
Публикувано от: IronMaiden в Dec 10, 2011, 17:47
:o ще пращаш user и pass по GET.
Код
GeSHi (PHP):
  1. $username = GET['username];
  2. $password = GET['password'];
  3. $user_mail = GET['user_mail'];
  4.  
  5. $user_row = array(
  6.    'username' => $username,
  7.    'user_password' => md5($password),
  8.    'user_email' => $user_mail,
  9.    'group_id' => 2,
  10.    'user_timezone' => 0,
  11.    'user_dst' => 1,
  12.    'user_lang' => 'en',
  13.    'user_type' => 0,
  14.    'user_actkey' => '',
  15.    'user_dateformat' => 'D M d, Y g:i a',
  16.    'user_style' => 1,
  17.    'user_regdate' => time(),
  18.        );

Taка като гледам нямаш проблеми. Просто трябва да си направиш една форма от рода на:
Код
GeSHi (HTML):
  1. <form action="./add_user.php" method="get">
  2. <input class="login_fields" type="text" value="Username" name="username" />
  3. <input class="login_fields" type="password" value="Password" name="password" />
  4. <input class="login_fields" type="text" value="User Mail" name="user_mail" />
  5. <input type="submit" class="loginForm_submit" name="submit" value="submit"/>
  6. </form>

$username = GET['username']; Забравил си да затвориш кавичките :)


Титла: Re: PHP скрипт
Публикувано от: phren в Dec 10, 2011, 18:00

$username = GET['username'];

ей това има на 22 ред, дори след като го оправих, грешката си остава същата, за всеки случай (може да не съм догледал нещо в хтмл-то, но BGP-то неска ми скъса нервите, и е възможно да не съм догледал) ще атачна пак нещата

=======================              add_user.php
# cat add_user.php
<?php

    define('IN_PHPBB', true);

    global $phpbb_root_path;
    global $phpEx;
    global $db;
    global $config;
    global $user;
    global $auth;
    global $cache;
    global $template;

    $phpEx = substr(strrchr(__FILE__, '.'), 1);

    require("common.php");
    $user->session_begin();
    $auth->acl($user->data);


    include('includes/functions_user.php');

$username = GET['username'];
$password = GET['password'];
$user_mail = GET['user_mail'];

$user_row = array(
    'username' => $username,
    'user_password' => md5($password),
    'user_email' => $user_mail,
    'group_id' => 2,
    'user_timezone' => 0,
    'user_dst' => 1,
    'user_lang' => 'en',
    'user_type' => 0,
    'user_actkey' => '',
    'user_dateformat' => 'D M d, Y g:i a',
    'user_style' => 1,
    'user_regdate' => time(),
        );
?>
#
=======================              form.html
# cat form.html
<form action="./add_user.php" method="get">
<input class="login_fields" type="text" value="Username" name="username" />
<input class="login_fields" type="password" value="Password" name="password" />
<input class="login_fields" type="text" value="User Mail" name="user_mail" />
<input type="submit" class="loginForm_submit" name="submit" value="submit"/>
</form>
#
=======================   

всички include файлове са по местата си, няма проблеми с path vars ... :/




Титла: Re: PHP скрипт
Публикувано от: IronMaiden в Dec 10, 2011, 18:34
$username = $_GET['username'];
$password = $_GET['password'];
$user_mail = $_GET['user_mail'];


Титла: Re: PHP скрипт
Публикувано от: b2l в Dec 10, 2011, 18:58
$username = $_GET['username'];
$password = $_GET['password'];
$user_mail = $_GET['user_mail'];

Ау, да. Благодаря за поправката.


Титла: Re: PHP скрипт
Публикувано от: phren в Dec 10, 2011, 19:18
добре има напредък, сега няма грешка, но не добавя юзъра.

дойде и дебъг времето, баси зора, не мога да повярвам, че такава глупост ми (НИ) отне цял ден!


Титла: Re: PHP скрипт
Публикувано от: phren в Dec 10, 2011, 19:23
готово!

момчета, благодаря ви изключително много за помоща!