Автор Тема: PHP скрипт  (Прочетена 4001 пъти)

phren

  • Участници
  • ***
  • Публикации: 5
    • Профил
PHP скрипт
« -: Dec 10, 2011, 14:36 »
Здравейте,

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

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

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

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

пс. разбира се, ще "почерпя" :)
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: PHP скрипт
« Отговор #1 -: 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>
« Последна редакция: Dec 10, 2011, 17:31 от b2l »
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

phren

  • Участници
  • ***
  • Публикации: 5
    • Профил
Re: PHP скрипт
« Отговор #2 -: Dec 10, 2011, 15:54 »
хиляди благодарности за отговора.

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

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

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

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

« Последна редакция: Dec 10, 2011, 16:06 от phren »
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: PHP скрипт
« Отговор #3 -: Dec 10, 2011, 17:30 »
Код
GeSHi (PHP):
  1. 'user_regdate' => time()

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

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

IronMaiden

  • Напреднали
  • *****
  • Публикации: 43
  • Distribution: Debian testing
  • Window Manager: Gnome
    • Профил
Re: PHP скрипт
« Отговор #4 -: 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']; Забравил си да затвориш кавичките :)
« Последна редакция: Dec 10, 2011, 17:52 от IronMaiden »
Активен

phren

  • Участници
  • ***
  • Публикации: 5
    • Профил
Re: PHP скрипт
« Отговор #5 -: 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 ... :/


Активен

IronMaiden

  • Напреднали
  • *****
  • Публикации: 43
  • Distribution: Debian testing
  • Window Manager: Gnome
    • Профил
Re: PHP скрипт
« Отговор #6 -: Dec 10, 2011, 18:34 »
$username = $_GET['username'];
$password = $_GET['password'];
$user_mail = $_GET['user_mail'];
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: PHP скрипт
« Отговор #7 -: Dec 10, 2011, 18:58 »
$username = $_GET['username'];
$password = $_GET['password'];
$user_mail = $_GET['user_mail'];

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

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

phren

  • Участници
  • ***
  • Публикации: 5
    • Профил
Re: PHP скрипт
« Отговор #8 -: Dec 10, 2011, 19:18 »
добре има напредък, сега няма грешка, но не добавя юзъра.

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

phren

  • Участници
  • ***
  • Публикации: 5
    • Профил
Re: PHP скрипт
« Отговор #9 -: Dec 10, 2011, 19:23 »
готово!

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