We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!

Answered PHP code in modx

    • 51106
    • 39 Posts
    Hello i have a question about Modx how can I use PHP code in modx because I have tried to use snippet but it doesn't work even doesn't save php code thank you.

    This question has been answered by donshakespeare. See the first response.

      • 51106
      • 39 Posts
      Hello i have a question about Modx how can I use PHP code in modx because I have tried to use snippet but it doesn't work even doesn't save php code thank you.
        • 30585
        • 833 Posts
        Typically, when you create a snippet, you call it like this: [[mySnippet]] wherever you'd like it to execute..

        What's your php code?
          A MODx Fanatic
          • 51106
          • 39 Posts
          this my php code:
          <?php // Example 26-5: signup.php
          require_once 'ericheader.php';
          $date=date("d M Y , h :i a");
          echo <<<_END
          <script type="text/javascript" src="javascript.js">
          function checkUser(user)
          {
          if (user.value == '')
          {
          O('info').innerHTML = ''
          return
          }

          params = "user=" + user.value
          request = new ajaxRequest()
          request.open("POST", "checkuser.php", true)
          request.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
          request.setRequestHeader("Content-length", params.length)
          request.setRequestHeader("Connection", "close")

          request.onreadystatechange = function()
          {
          if (this.readyState == 4)
          if (this.status == 200)
          if (this.responseText != null)
          O('info').innerHTML = this.responseText
          }
          request.send(params)
          }

          function ajaxRequest()
          {
          try { var request = new XMLHttpRequest() }
          catch(e1) {
          try { request = new ActiveXObject("Msxml2.XMLHTTP") }
          catch(e2) {
          try { request = new ActiveXObject("Microsoft.XMLHTTP") }
          catch(e3) {
          request = false
          } } }
          return request
          }

          </script>

          <div class='main'><h3>Please enter your details to sign up</h3>
          _END;
          function mt_rand_str ($l, $c = 'abcdefghijklmnopqrstuvwxyz1234567890') {
          for ($s = '', $cl = strlen($c)-1, $i = 0; $i < $l; $s .= $c[mt_rand(0, $cl)], ++$i);
          return $s;
          }

          $yourpass = mt_rand_str(8);

          $error = $user = $pass = "";
          if (isset($_SESSION['user'])) destroySession();

          if (isset($_POST['user']))
          {
          $fname= sanitizeString($_POST['fname']);
          $lname= sanitizeString($_POST['lname']);
          $email = filter_var($_POST['email'],FILTER_SANITIZE_EMAIL);
          $user = sanitizeString($_POST['user']);
          $pass = sanitizeString($_POST['pass']);
          $country = sanitizeString($_POST['country']);
          $myradio = sanitizeString($_POST['myradio']);
          if ($user == "" || $pass == "" || $email=="")
          $error = "Not all fields were entered

          ";
          else
          {
          $result = queryMysql("SELECT * FROM members WHERE user='$user' or email='$email'");

          if ($result->num_rows)
          $error = "That username or E-mail already exists

          ";
          else
          {
          $message=" Your account is created,your activation code is $yourpass ,the next step is to activate your acount by clicking on http://connivenza.com/accountactivation.php \n Thank you";
          $ok = mail ($email,"inscription",$message);
          queryMysql("INSERT INTO members(firstname,lastname,email,user,pass,country,gender) VALUES('$fname','$lname','$email','$user','$yourpass','$country','$myradio')");
          die("<h4>Account created</h4>Please check your email and activate your account.

          ");
          }
          }
          }

          echo <<<_END
          <form method='post' action='signup.php' onsubmit="return checkform(this)">$error
          <span class='fieldname'>First Name</span>
          <input type='text' maxlength='32' name='fname' placeholder='First Name'
          value='$fname'>


          <span class='fieldname'>Last Name</span>
          <input type='text' maxlength='32' name='lname' placeholder='Last Name'
          value='$lname'>


          <span class='fieldname'>E-mail</span>
          <input type='email' maxlength='32' name='email' placeholder='E-mail'
          value='$email'>


          <span class='fieldname'>Username</span>
          <input type='text' maxlength='16' name='user' placeholder='Choose username' value='$user'
          onBlur='checkUser(this)'><span id='info'></span>


          <span class='fieldname'>Password</span>
          <input id='pass1' type='password' maxlength='16' name='pass' placeholder='Password'
          value='$pass'>


          <span class='fieldname'>Re-Password</span>
          <input id='pass2' type='password' maxlength='16' name='passw' placeholder='Re-Password'
          value='$pass1'>


          <select name="country" value='$country'>
          <option >Choose your country</option>
          <option value="Afganistan">Afghanistan</option>
          <option value="Albania">Albania</option>
          <option value="Algeria">Algeria</option>
          <option value="American Samoa">American Samoa</option>
          <option value="Andorra">Andorra</option>
          <option value="Angola">Angola</option>
          <option value="Anguilla">Anguilla</option>
          <option value="Antigua & Barbuda">Antigua & Barbuda</option>
          <option value="Argentina">Argentina</option>
          <option value="Armenia">Armenia</option>
          <option value="Aruba">Aruba</option>
          <option value="Australia">Australia</option>
          <option value="Austria">Austria</option>
          <option value="Azerbaijan">Azerbaijan</option>
          <option value="Bahamas">Bahamas</option>
          <option value="Bahrain">Bahrain</option>
          <option value="Bangladesh">Bangladesh</option>
          <option value="Barbados">Barbados</option>
          <option value="Belarus">Belarus</option>
          <option value="Belgium">Belgium</option>
          <option value="Belize">Belize</option>
          <option value="Benin">Benin</option>
          <option value="Bermuda">Bermuda</option>
          <option value="Bhutan">Bhutan</option>
          <option value="Bolivia">Bolivia</option>
          <option value="Bonaire">Bonaire</option>
          <option value="Bosnia & Herzegovina">Bosnia & Herzegovina</option>
          <option value="Botswana">Botswana</option>
          <option value="Brazil">Brazil</option>
          <option value="British Indian Ocean Ter">British Indian Ocean Ter</option>
          <option value="Brunei">Brunei</option>
          <option value="Bulgaria">Bulgaria</option>
          <option value="Burkina Faso">Burkina Faso</option>
          <option value="Burundi">Burundi</option>
          <option value="Cambodia">Cambodia</option>
          <option value="Cameroon">Cameroon</option>
          <option value="Canada">Canada</option>
          <option value="Canary Islands">Canary Islands</option>
          <option value="Cape Verde">Cape Verde</option>
          <option value="Cayman Islands">Cayman Islands</option>
          <option value="Central African Republic">Central African Republic</option>
          <option value="Chad">Chad</option>
          <option value="Channel Islands">Channel Islands</option>
          <option value="Chile">Chile</option>
          <option value="China">China</option>
          <option value="Christmas Island">Christmas Island</option>
          <option value="Cocos Island">Cocos Island</option>
          <option value="Colombia">Colombia</option>
          <option value="Comoros">Comoros</option>
          <option value="Congo">Congo</option>
          <option value="Cook Islands">Cook Islands</option>
          <option value="Costa Rica">Costa Rica</option>
          <option value="Cote DIvoire">Cote D'Ivoire</option>
          <option value="Croatia">Croatia</option>
          <option value="Cuba">Cuba</option>
          <option value="Curaco">Curacao</option>
          <option value="Cyprus">Cyprus</option>
          <option value="Czech Republic">Czech Republic</option>
          <option value="Denmark">Denmark</option>
          <option value="Djibouti">Djibouti</option>
          <option value="Dominica">Dominica</option>
          <option value="Dominican Republic">Dominican Republic</option>
          <option value="East Timor">East Timor</option>
          <option value="Ecuador">Ecuador</option>
          <option value="Egypt">Egypt</option>
          <option value="El Salvador">El Salvador</option>
          <option value="Equatorial Guinea">Equatorial Guinea</option>
          <option value="Eritrea">Eritrea</option>
          <option value="Estonia">Estonia</option>
          <option value="Ethiopia">Ethiopia</option>
          <option value="Falkland Islands">Falkland Islands</option>
          <option value="Faroe Islands">Faroe Islands</option>
          <option value="Fiji">Fiji</option>
          <option value="Finland">Finland</option>
          <option value="France">France</option>
          <option value="French Guiana">French Guiana</option>
          <option value="French Polynesia">French Polynesia</option>
          <option value="French Southern Ter">French Southern Ter</option>
          <option value="Gabon">Gabon</option>
          <option value="Gambia">Gambia</option>
          <option value="Georgia">Georgia</option>
          <option value="Germany">Germany</option>
          <option value="Ghana">Ghana</option>
          <option value="Gibraltar">Gibraltar</option>
          <option value="Great Britain">Great Britain</option>
          <option value="Greece">Greece</option>
          <option value="Greenland">Greenland</option>
          <option value="Grenada">Grenada</option>
          <option value="Guadeloupe">Guadeloupe</option>
          <option value="Guam">Guam</option>
          <option value="Guatemala">Guatemala</option>
          <option value="Guinea">Guinea</option>
          <option value="Guyana">Guyana</option>
          <option value="Haiti">Haiti</option>
          <option value="Hawaii">Hawaii</option>
          <option value="Honduras">Honduras</option>
          <option value="Hong Kong">Hong Kong</option>
          <option value="Hungary">Hungary</option>
          <option value="Iceland">Iceland</option>
          <option value="India">India</option>
          <option value="Indonesia">Indonesia</option>
          <option value="Iran">Iran</option>
          <option value="Iraq">Iraq</option>
          <option value="Ireland">Ireland</option>
          <option value="Isle of Man">Isle of Man</option>
          <option value="Israel">Israel</option>
          <option value="Italy">Italy</option>
          <option value="Jamaica">Jamaica</option>
          <option value="Japan">Japan</option>
          <option value="Jordan">Jordan</option>
          <option value="Kazakhstan">Kazakhstan</option>
          <option value="Kenya">Kenya</option>
          <option value="Kiribati">Kiribati</option>
          <option value="Korea North">Korea North</option>
          <option value="Korea Sout">Korea South</option>
          <option value="Kuwait">Kuwait</option>
          <option value="Kyrgyzstan">Kyrgyzstan</option>
          <option value="Laos">Laos</option>
          <option value="Latvia">Latvia</option>
          <option value="Lebanon">Lebanon</option>
          <option value="Lesotho">Lesotho</option>
          <option value="Liberia">Liberia</option>
          <option value="Libya">Libya</option>
          <option value="Liechtenstein">Liechtenstein</option>
          <option value="Lithuania">Lithuania</option>
          <option value="Luxembourg">Luxembourg</option>
          <option value="Macau">Macau</option>
          <option value="Macedonia">Macedonia</option>
          <option value="Madagascar">Madagascar</option>
          <option value="Malaysia">Malaysia</option>
          <option value="Malawi">Malawi</option>
          <option value="Maldives">Maldives</option>
          <option value="Mali">Mali</option>
          <option value="Malta">Malta</option>
          <option value="Marshall Islands">Marshall Islands</option>
          <option value="Martinique">Martinique</option>
          <option value="Mauritania">Mauritania</option>
          <option value="Mauritius">Mauritius</option>
          <option value="Mayotte">Mayotte</option>
          <option value="Mexico">Mexico</option>
          <option value="Midway Islands">Midway Islands</option>
          <option value="Moldova">Moldova</option>
          <option value="Monaco">Monaco</option>
          <option value="Mongolia">Mongolia</option>
          <option value="Montserrat">Montserrat</option>
          <option value="Morocco">Morocco</option>
          <option value="Mozambique">Mozambique</option>
          <option value="Myanmar">Myanmar</option>
          <option value="Nambia">Nambia</option>
          <option value="Nauru">Nauru</option>
          <option value="Nepal">Nepal</option>
          <option value="Netherland Antilles">Netherland Antilles</option>
          <option value="Netherlands">Netherlands (Holland, Europe)</option>
          <option value="Nevis">Nevis</option>
          <option value="New Caledonia">New Caledonia</option>
          <option value="New Zealand">New Zealand</option>
          <option value="Nicaragua">Nicaragua</option>
          <option value="Niger">Niger</option>
          <option value="Nigeria">Nigeria</option>
          <option value="Niue">Niue</option>
          <option value="Norfolk Island">Norfolk Island</option>
          <option value="Norway">Norway</option>
          <option value="Oman">Oman</option>
          <option value="Pakistan">Pakistan</option>
          <option value="Palau Island">Palau Island</option>
          <option value="Palestine">Palestine</option>
          <option value="Panama">Panama</option>
          <option value="Papua New Guinea">Papua New Guinea</option>
          <option value="Paraguay">Paraguay</option>
          <option value="Peru">Peru</option>
          <option value="Phillipines">Philippines</option>
          <option value="Pitcairn Island">Pitcairn Island</option>
          <option value="Poland">Poland</option>
          <option value="Portugal">Portugal</option>
          <option value="Puerto Rico">Puerto Rico</option>
          <option value="Qatar">Qatar</option>
          <option value="Republic of Montenegro">Republic of Montenegro</option>
          <option value="Republic of Serbia">Republic of Serbia</option>
          <option value="Reunion">Reunion</option>
          <option value="Romania">Romania</option>
          <option value="Russia">Russia</option>
          <option value="Rwanda">Rwanda</option>
          <option value="St Barthelemy">St Barthelemy</option>
          <option value="St Eustatius">St Eustatius</option>
          <option value="St Helena">St Helena</option>
          <option value="St Kitts-Nevis">St Kitts-Nevis</option>
          <option value="St Lucia">St Lucia</option>
          <option value="St Maarten">St Maarten</option>
          <option value="St Pierre & Miquelon">St Pierre & Miquelon</option>
          <option value="St Vincent & Grenadines">St Vincent & Grenadines</option>
          <option value="Saipan">Saipan</option>
          <option value="Samoa">Samoa</option>
          <option value="Samoa American">Samoa American</option>
          <option value="San Marino">San Marino</option>
          <option value="Sao Tome & Principe">Sao Tome & Principe</option>
          <option value="Saudi Arabia">Saudi Arabia</option>
          <option value="Senegal">Senegal</option>
          <option value="Serbia">Serbia</option>
          <option value="Seychelles">Seychelles</option>
          <option value="Sierra Leone">Sierra Leone</option>
          <option value="Singapore">Singapore</option>
          <option value="Slovakia">Slovakia</option>
          <option value="Slovenia">Slovenia</option>
          <option value="Solomon Islands">Solomon Islands</option>
          <option value="Somalia">Somalia</option>
          <option value="South Africa">South Africa</option>
          <option value="Spain">Spain</option>
          <option value="Sri Lanka">Sri Lanka</option>
          <option value="Sudan">Sudan</option>
          <option value="Suriname">Suriname</option>
          <option value="Swaziland">Swaziland</option>
          <option value="Sweden">Sweden</option>
          <option value="Switzerland">Switzerland</option>
          <option value="Syria">Syria</option>
          <option value="Tahiti">Tahiti</option>
          <option value="Taiwan">Taiwan</option>
          <option value="Tajikistan">Tajikistan</option>
          <option value="Tanzania">Tanzania</option>
          <option value="Thailand">Thailand</option>
          <option value="Togo">Togo</option>
          <option value="Tokelau">Tokelau</option>
          <option value="Tonga">Tonga</option>
          <option value="Trinidad & Tobago">Trinidad & Tobago</option>
          <option value="Tunisia">Tunisia</option>
          <option value="Turkey">Turkey</option>
          <option value="Turkmenistan">Turkmenistan</option>
          <option value="Turks & Caicos Is">Turks & Caicos Is</option>
          <option value="Tuvalu">Tuvalu</option>
          <option value="Uganda">Uganda</option>
          <option value="Ukraine">Ukraine</option>
          <option value="United Arab Erimates">United Arab Emirates</option>
          <option value="United Kingdom">United Kingdom</option>
          <option value="United States of America">United States of America</option>
          <option value="Uraguay">Uruguay</option>
          <option value="Uzbekistan">Uzbekistan</option>
          <option value="Vanuatu">Vanuatu</option>
          <option value="Vatican City State">Vatican City State</option>
          <option value="Venezuela">Venezuela</option>
          <option value="Vietnam">Vietnam</option>
          <option value="Virgin Islands (Brit)">Virgin Islands (Brit)</option>
          <option value="Virgin Islands (USA)">Virgin Islands (USA)</option>
          <option value="Wake Island">Wake Island</option>
          <option value="Wallis & Futana Is">Wallis & Futana Is</option>
          <option value="Yemen">Yemen</option>
          <option value="Zaire">Zaire</option>
          <option value="Zambia">Zambia</option>
          <option value="Zimbabwe">Zimbabwe</option>
          </select>


          <span class='fieldname'>Gender</span>
          <input type='radio' name='myradio'
          value="Female" /> Female
          <input type='radio' name='myradio'
          value="Male" /> Male



          _END;
          ?>
            • 51106
            • 39 Posts
            and then doesn't execute
              • 30585
              • 833 Posts
              First things first, you should seriously consider separating your logic from the presentation. You have lots of HTML and Javascript in your PHP code. Though you can get away with it, it's simply a bad practice and it makes debugging and maintaining much harder. As far as interacting with database tables, use MODX Objects. You should spend some time learning the basics of xPDO -- the stuff that makes MODX a powerful and flexible framework.

              What are you trying to achieve with your script? If it's frontend user registration and stuff, you should try Login. It's a mature and battle-tested extra.

              If you must stick with your script, you should use a Chunk to format the output. See the getChunk method for more details. This will simplify your logic.

              These are just general guidelines. If you have a complex application, you'll be better off creating an extra. [ed. note: treigh last edited this post 10 years, 9 months ago.]
                A MODx Fanatic
                • 28042 ☆ A M B ☆
                • 24,524 Posts
                  Studying MODX in the desert - http://sottwell.com
                  Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
                  Join the Slack Community - http://modx.org
                  • 51106
                  • 39 Posts
                  Thank you I'm going to follow instructions
                    • 42562
                    • 1,145 Posts
                    This topic has been discussed elsewhere. And there, I opted for such a function.

                    There is nothing sweeeter than having the ability/freedom to mix languages ... and don't know if it will be too much for MODX to allow raw PHP in content.
                    Yes, yes, I know of the school of thought that supports 'separation of logic', 'security risks' etc ... but does not freedom, at least the modern notion of it, mean, license to shoot oneself.
                      TinymceWrapper: Complete back/frontend content solution.
                      Harden your MODX site by passwording your three main folders: core, manager, connectors and renaming your assets (thank me later!)
                      5 ways to sniff / hack your own sites; even with renamed/hidden folders, burst them all up, to see how secure you are not.
                      • 37242 ☆ A M B ☆
                      • 339 Posts
                      Quote from: donshakespeare at Dec 31, 2015, 06:11 PM
                      but does not freedom, at least the modern notion of it, mean, license to shoot oneself.

                      No. Internet is internet. Its communication. You get ill, you infect others.