Praetorian Posted January 31, 2008 Share Posted January 31, 2008 I'm fiddling with this script for an application. Can't quite get it to act right. When I try to submit a name containing a ', it removes the ' and whatever occurs after it, and replaces with a single \Here's the php and the html for the specific part of the form giving me problems. Thanks in advance. <?php $CharacterName = $_REQUEST['CharacterName']; $Nation = $_REQUEST['Nation']; $RaceIhthian = $_REQUEST['RaceIhthian']; $RaceIkarrii = $_REQUEST['RaceIkarrii']; $Race = $RaceIhthian.$RaceKiil; $CharacterAge = $_REQUEST['CharacterAge']; $Gender = $_REQUEST['Gender']; $Guild = $_REQUEST['Guild']; $History = $_REQUEST['History']; $WritingSample = $_REQUEST['WritingSample']; $Email = $_REQUEST['Email']; $Alias = $_REQUEST['Alias']; $YourAge = $_REQUEST['YourAge']; $YourGender = $_REQUEST['YourGender']; $Icq = $_REQUEST['Icq']; $Aim = $_REQUEST['Aim']; $Msn = $_REQUEST['Msn']; $Subject = "~Character Information~\r\n\r\n\r\n~Name~\r\n$CharacterName\r\n\r\n~Nationality~\r\n$Nation\r\n\r\n~Race~\r\n$Race\r\n\r\n~Age~\r\n$CharacterAge\r\n\r\n~Gender~\r\n$Gender\r\n\r\n~Guild~\r\n$Guild\r\n\r\n~Brief History~\r\n$History\r\n\r\n~Writing Sample~\r\n$WritingSample\r\n\r\n\r\n~Personal Information~\r\n\r\n\r\n~Name/Alias~\r\n$Alias\r\n\r\n~Age~\r\n$YourAge\r\n\r\n~Age~\r\n$YourAge\r\n\r\n~ICQ~\r\n$Icq\r\n\r\n~AIM~\r\n$Aim\r\n\r\n~MSN~\r\n$Msn"; $errors = Array(); if( ereg("^([0-9][!#$%*/?|^{}~&+-=_])*$",$CharacterName)) $errors[] = "<h3>Your Character's name is invalid. Please try again.</h3>"; if( !isset ($Nation)) $errors[] = "<h3>Please choose a species for your character.</h3>"; if( (($Nation == "Ihthian") xor ($Nation == "Ikarrii")) and ($RaceIhthian == "void") and ($RaceIkarrii == "void")) $errors[] = "<h3>The Species you have chosen Requires you to choose a sub-race.</h3>"; if( (($RaceIhthian == "void") and ($RaceIkarrii != "void")) and ($Nation == "Ihthian")) $errors[] = "<h3>The sub-race you have chosen is invalid.</h3>"; if( (($RaceIkarrii == "void") and ($RaceIhthian != "void")) and ($Nation == "Ikarrii")) $errors[] = "<h3>The sub-race you have chosen is invalid.</h3>"; if( (($RaceIhthian != "void") or ($RaceIkarrii != "void")) and ($Nation != "Ihthian") and ($Nation != "Ikarrii")) $errors[] = "<h3>You cannot choose a sub race for that species.</h3>"; if( (($Nation == "Ihthian") xor ($Nation == "Ikarrii")) and ($RaceIhthian != "void") and ($RaceIkarrii != "void")) $errors[] = "<h3>You have chosen too many sub-races.</h3>"; if( !isset ($Gender)) $errors[] = "<h3>Please select a gender for your character.</h3>"; if( !eregi ("^[a-z0-9]+([!#$%*/?|^{}`~&'+-=_][a-z0-9])*@[a-z0-9]+([!#$%*/?|^{}`~&'+-=_][a-z0-9])*.[a-z]{2,3}$",$Email)) $errors[] = "<h3>Please Enter a Valid Email Address</h3>"; if(empty($errors) and isset($Email)) { mail( "author@tsrealms.com",$Email,$Subject, "From: $Email" ); mail( $Email,"A copy of your Application", $Subject, "From: The Shattered Realms" ); echo "<h1>Thank you for your application! One of the admins should be getting back to you via email within 24 hours. If you're accepted, you'll be given the link to register a user name on the message board. A copy of your application has been emailed to you.</h1>"; } else { foreach($errors AS $e) echo $e; // displays error msg include "appform.txt"; } ?> <input type="text" name="CharacterName" size="20" value='<?php echo $CharacterName?>' /> Link to comment Share on other sites More sharing options...
Guest Shiny_Charizad Posted January 31, 2008 Share Posted January 31, 2008 Try this for your form: <input type="text" name="CharacterName" size="20" value='<?php echo "$CharacterName"; ?>' /> Link to comment Share on other sites More sharing options...
Praetorian Posted January 31, 2008 Author Share Posted January 31, 2008 Actually that's what I had before, and it was still giving me the error. Removing the quotes was an attempt to fix it, but it didn't work. Link to comment Share on other sites More sharing options...
jhecht Posted January 31, 2008 Share Posted January 31, 2008 <input type="text" name="CharacterName" size="20" value="<?php echo (get_magic_quotes_gpc()) ? $CharacterName : addslashes($CharacterName) ?>" />Try that. Link to comment Share on other sites More sharing options...
Praetorian Posted January 31, 2008 Author Share Posted January 31, 2008 Okay, that sort of worked.. but now what appears in the field is word\'word, so the name still appears but with an escape slash before the ' Link to comment Share on other sites More sharing options...
justsomeguy Posted January 31, 2008 Share Posted January 31, 2008 <input type="text" name="CharacterName" size="20" value="<?php echo str_replace('"', '\"', stripslashes($CharacterName)); ?>" /> Link to comment Share on other sites More sharing options...
Praetorian Posted January 31, 2008 Author Share Posted January 31, 2008 Ah! Thanks Justsomeguy. That did the trick. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.