Расширенный HTML-редактор с открытым исходным кодом [закрыт]

Я разработчик iPhone, новичок в веб-разработке. У меня есть опыт работы с HTML и CSS, но я новичок в PHP и установил MAMP на свой Mac.

Я пишу веб-сайт для тех, кому нужна базовая CMS (я думаю, это правильный термин!). Основная информация, которую им нужно будет отредактировать, например, текст домашней страницы, раздел «О программе» и т. д. Я установил, что php включает файлы txt. Вот так (на главной странице):

<?php include 'homeText.txt' ?>

Я также настроил страницу admin.php, где администраторы могут войти в систему, чтобы редактировать содержимое сайта. (Когда я говорю «логин», я имею в виду if (username == x && password == x) с жестко заданными значениями).

На этой странице я хотел бы иметь раскрывающийся список, позволяющий пользователю выбрать текстовый файл для открытия, и когда они выберут один, он откроется в текстовом редакторе с форматированным форматированием. (Любое форматирование будет HTML, который будет проанализирован расширенным редактором для отображения форматированного текста).

Кто-нибудь знает подходящий HTML-редактор с открытым исходным кодом, который я мог бы легко встроить в страницу PHP и отправить полученный HTML-код в сообщение PHP для записи в файл?

Заранее спасибо - извините за такой вопрос новичка!


person Alex Coplan    schedule 01.08.2011    source источник
comment
выучил PHP вчера? Вы имеете в виду, что это заняло целый день!? Я немного медленнее, я изучаю это уже 5 лет, и до сих пор иногда не совсем понимаю :)   -  person vascowhite    schedule 01.08.2011
comment
*начал учиться: blog.themeforest.net/screencasts/diving-into -php-video-series — я нашел это действительно полезным, и вы быстро усвоите его после работы с iPhone :)   -  person Alex Coplan    schedule 01.08.2011
comment
возможный дубликат панели инструментов Textarea?   -  person symcbean    schedule 01.08.2011


Ответы (1)


вы делаете это неправильно, я очень сомневаюсь, что вы сможете разработать приложение так рано, поскольку вы сказали, что начали изучать PHP только вчера, ваши примеры показывают, что вы очень плохо понимаете основы серверного языка, вы сказали, что вы будет проверять вход в систему с помощью if (username == x && password == x), это совершенно неправильный способ сделать это, вместо этого вы должны использовать базу данных, такую ​​​​как MySQL, для хранения и проверки учетных данных для входа, т.е. через $_SESSION (переменная сеанса), если быть более точным,

Рассмотрим форму входа

<form action="checkLogin.php" method="post">
    <input type = "text" name="username"/>
    <input type = "password" name = "password"/>
    <input type = "submit" name = "submit" value ="login"/>
</form>

Всегда лучше иметь базу данных, рассмотрим следующую базу данных со следующими таблицами и значениями.

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `password` varchar(50) NOT NULL,
  PRIMARY KEY (`id`),
);
INSERT INTO `users` VALUES('First User', '6c049bc0f30da673d0a82c5bd1a13cde');
INSERT INTO `users` VALUES('Second User', '6a6150f8eb2c263a31eb91487bebf1d6');
INSERT INTO `users` VALUES('Third User', '2fd7e7348da8dd5f67103b15be525859');

второй аргумент — это хешированные значения вашего пароля, я использовал md5(), вы можете использовать sha1() или другие.

Теперь, чтобы проверить учетные данные для входа, вам нужно написать следующий код в вашем checkLogin.php

<?php
if(isset($_POST['submit'])) {
    $username = mysql_real_escape_string($_POST['username']);
    $password = sha1(mysql_real_escape_string($_POST['password']));
    $result = mysql_query('SELECT id, username FROM users WHERE users.username = '.$username.' AND users.username =.'$password) or die('unable to select database');
    if(mysql_num_rows($sesult) > 0) {
        $row = mysql_fetch_array($result);
        $_SESSION['userId'] = $row['userId'];
    }   
}
?>

на других страницах, если вы хотите проверить, зарегистрирован ли пользователь, чтобы вы могли предоставить ему доступ, вам просто нужно проверить переменные сеанса

if(isset($_SESSION['userId'])) {
    //Give Page Access to this user.
}

Это просто базовое и приблизительное представление о том, как работает PHP, чтобы вы начали, я бы порекомендовал вам ознакомиться с этим руководством для новичков. http://devzone.zend.com/article/627

person Ibrahim Azhar Armar    schedule 01.08.2011
comment
Вы НИКОГДА не должны использовать md5 для паролей. Вы всегда должны использовать SHA1 или что-то более безопасное. ссылка Кроме проблемы с MD5, остальная часть кода выглядит правильно - person Jesse; 01.08.2011
comment
Вы делаете вывод, хотя абсолютно не отвечаете на вопрос :p - person Matthieu Napoli; 01.08.2011
comment
Извините, я не ясно дал понять, что я абсолютно точно собираюсь внедрить mysql, и просто проверять логин таким образом, конечно, совершенно неправильно - это просто очень временно (и я уже использую форму входа с сообщением. - person Alex Coplan; 01.08.2011
comment
Также вы можете использовать функцию password('myPassword') для генерации хэшей паролей? - person Alex Coplan; 01.08.2011
comment
Также хотелось бы сказать (хотя это не ответило на вопрос), что ваш ответ был очень полезным, особенно бит $_SESSION, мне было интересно об этом... - person Alex Coplan; 01.08.2011
comment
@Alex, давай, прочитай статью, которую я разместил по ссылке, она охватывает большую часть основного, что тебе нужно знать. и php не имеет какой-либо функции, такой как password(), для хранения пароля, необходимого для преобразования его в хэш, такой как md5, sha1 и т. д. - person Ibrahim Azhar Armar; 01.08.2011
comment
а также, если вы найдете это полезным, вы можете пометить его как ответ :) - person Ibrahim Azhar Armar; 01.08.2011
comment
здесь я получил команду password() (это может быть что-то из SQL ??) в этом блоке sql, чтобы изменить пароль пользователя root для mysql db - update user set password = password('myPassword') where user = 'root'; - person Alex Coplan; 01.08.2011
comment
не волнуйтесь - сделали шифрование sha1 :) - person Alex Coplan; 02.08.2011
comment
-1: использование устаревшего API, использование небезопасных алгоритмов хеширования (md5 и sha1) - person tereško; 27.05.2014