Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
0

PLease help

New Here ,
Jun 15, 2006 Jun 15, 2006

Copy link to clipboard

Copied

I am having a heck of a time getting dreamweaver to pass the seclection made from a dynamic drop-down in the URL to anopther page when a Detail link is clicked. No mater what I do - Dreaweaver will only send the item from first record in the DB table and not any one of the other items selected in the drop down from other records. Please assist in anyway you you can - I have scoured the entire knowledge base, thse forums and google and can't seem to get it right. Many thx in advance.
TOPICS
Server side applications

Views

514
Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jun 15, 2006 Jun 15, 2006

Copy link to clipboard

Copied

Post your code - lets take a look.
Cheers,
Rob
http://robgt.com/ [Tutorials and Extensions]
Firebox stuff: http://robgt.com/firebox
Skype stuff: http://robgt.com/skype
Dell stuff: http://robgt.com/dell
SatNav stuff: http://robgt.com/satnav



Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 15, 2006 Jun 15, 2006

Copy link to clipboard

Copied

Thx Rob -

<%@LANGUAGE="JAVASCRIPT"%>
<!--#include file="Connections/caspa.asp" -->
<%
var Recordset1_cmd = Server.CreateObject ("ADODB.Command");
Recordset1_cmd.ActiveConnection = MM_caspa_STRING;
Recordset1_cmd.CommandText = "SELECT Field1 FROM [Access]";
Recordset1_cmd.Prepared = true;

var Recordset1 = Recordset1_cmd.Execute();
var Recordset1_numRows = 0;
%>
<% var MM_paramName = ""; %>
<%
// *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters

// create the list of parameters which should not be maintained
var MM_removeList = "&index=";
if (MM_paramName != "") MM_removeList += "&" + MM_paramName.toLowerCase() + "=";
var MM_keepURL="",MM_keepForm="",MM_keepBoth="",MM_keepNone="";

// add the URL parameters to the MM_keepURL string
for (var items=new Enumerator(Request.QueryString); !items.atEnd(); items.moveNext()) {
var nextItem = "&" + items.item().toLowerCase() + "=";
if (MM_removeList.indexOf(nextItem) == -1) {
MM_keepURL += "&" + items.item() + "=" + Server.URLencode(Request.QueryString(items.item()));
}
}

// add the Form variables to the MM_keepForm string
for (var items=new Enumerator(Request.Form); !items.atEnd(); items.moveNext()) {
var nextItem = "&" + items.item().toLowerCase() + "=";
if (MM_removeList.indexOf(nextItem) == -1) {
MM_keepForm += "&" + items.item() + "=" + Server.URLencode(Request.Form(items.item()));
}
}

// create the Form + URL string and remove the intial '&' from each of the strings
MM_keepBoth = MM_keepURL + MM_keepForm;
if (MM_keepBoth.length > 0) MM_keepBoth = MM_keepBoth.substring(1);
if (MM_keepURL.length > 0) MM_keepURL = MM_keepURL.substring(1);
if (MM_keepForm.length > 0) MM_keepForm = MM_keepForm.substring(1);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CASPA - Connecticut Association of School Personnel Administrators</title>

<script src="WA_Cookies/Cookies.js"></script>
<script type="text/JavaScript">
<!--


function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a )&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d)&&d.all) x=d.all; for (i=0;!x&&i<d.forms.length;i++) x=d.forms
;
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers .document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a
))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>

<link href="caspa.css" rel="stylesheet" type="text/css" /></head>

<body>
<a name="top" id="top"></a>
<p> </p>
<table width="806" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="806" height="135" align="left" valign="top"><img src="img/nav/header.jpg" alt="CASPA" width="806" height="135" /></td>
</tr>
<tr>
<td align="left" valign="top" background="img/nav/bkg_whole_page_rht_lft_bord.jpg"><table width="806" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="193" align="left" valign="top">

<!--#include file="menu.html" -->

<p> </p></td>
<td width="613" align="left" valign="top">
<p align="right"> <span class="style3">(<a href="<%= MM_Logout %>" class="style3">logout</a>)</span>       </p>
<p align="center" class="style3">CASPA Admin -Set Member Access Level ( back to <a href="admin.asp">admin homepage</a>) <strong></strong></p>
<p align="left" class="style3">Directions:</p>
<ul class="style2">
<li><strong>Scroll to the member's e-mail address</strong></li>
<li><strong>Click Detail </strong></li>
</ul>
<form id="form1" name="form1">
E-mail Adress of Member: <br />
<table width="96%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="64%" class="style2"><label>
<select name="email" id="email">
<%
while (!Recordset1.EOF) {
%>
<option value="<%=(Recordset1.Fields.Item("Field1").Value)%>" <%=((Recordset1.Fields.Item("Field1").Value == (Recordset1.Fields.Item("Field1").Value))?"selected=\"selected\"":"")%> ><%=(Recordset1.Fields.Item("Field1").Value)%></option>
<%
Recordset1.MoveNext();
}
if (Recordset1.CursorType > 0) {
if (!Recordset1.BOF) Recordset1.MoveFirst();
} else {
Recordset1.Requery();
}
%>
</select>
</label></td>
<td width="36%"><label><A HREF="access_detail.asp?<%= Server.HTMLEncode(MM_keepBoth) + ((MM_keepBoth!="")?"&":"") + "Field1=" + Recordset1.Fields.Item("Field1").Value %>">Detail</A></label></td>
</tr>
</table>
<p>
<label></label></div> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</form>
</td>
</tr>
</table></td>
</tr>
<tr>
<td width="806" height="13" align="left" valign="top"><img src="img/nav/bottom.jpg" alt="CASPA" width="806" height="13" /></td>
</tr>
<tr>
<td height="13" align="left" valign="top">
<!--#include file="footer.html" -->
</td>
</tr>
</table>
<p> Detail</p>
</body>
</html>
<%
Recordset1.Close();
%>

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jun 16, 2006 Jun 16, 2006

Copy link to clipboard

Copied

Hi,
This isn't making much sense to me at the moment.
The form contains a dynamically populated select list, but no submit button
to submit the form.
There is also a link to a details page on there, but I think you are trying
to get the value from the select list into that link? which won't work. Is
that the case?
What exactly are you trying to do here?
I think you might have the logic behind how this needs to work a little off
base.

Cheers,
Rob
http://robgt.com/ [Tutorials and Extensions]
Firebox stuff: http://robgt.com/firebox
Skype stuff: http://robgt.com/skype
Dell stuff: http://robgt.com/dell
SatNav stuff: http://robgt.com/satnav



Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 16, 2006 Jun 16, 2006

Copy link to clipboard

Copied

Hi Rob - thanks so much for taking a look - you are right - and I was able to actually make it work late last night - that is the drop down - finally takes the user to a page with the selected record form the drop-down. However, this is where i am completely lost - as I want to use that page to update one field in that record - right now - if you edit the AccessLevel form field and click on the Update button - nothing happens - if you have a moment and see anything obvious - lmk - all I have been trying to do in total is allow a user to selct a record and edit one firled in that record and update.

<%@LANGUAGE="JAVASCRIPT"%>

<!--#include file="Connections/caspa.asp" -->
<%
// *** Edit Operations: declare variables

// set the form action variable
var MM_editAction = Request.ServerVariables("SCRIPT_NAME");
if (Request.QueryString) {
MM_editAction += "?" + Server.HTMLEncode(Request.QueryString);
}

// boolean to abort record edit
var MM_abortEdit = false;
%>
<%
if (String(Request("MM_update")) == "form1") {
if (!MM_abortEdit) {
// execute the update

var MM_editCmd = Server.CreateObject ("ADODB.Command");
MM_editCmd.ActiveConnection = MM_caspa_STRING;
MM_editCmd.CommandText = "UPDATE [Access] SET userGroup = ? WHERE Field1 = ?";
MM_editCmd.Prepared = true;
MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param1", 201, 1, -1, Request.Form("AccessLevel"))); // adLongVarChar
MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param2", -1, 1, -1, (String(Request.Form("MM_recordId")) != "undefined" && String(Request.Form("MM_recordId")) != "") ? Request.Form("MM_recordId") : null)); // N/A
MM_editCmd.Execute();
MM_editCmd.ActiveConnection.Close();

// append the query string to the redirect URL
var MM_editRedirectUrl = "update_success.asp";
if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) {
MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1) ? "?" : "&") + Request.QueryString;
}
Response.Redirect(MM_editRedirectUrl)
}
}
%>
<%
var Recordset1__MMColParam = "1";
if (String(Request.QueryString("Field1")) != "undefined" &&
String(Request.QueryString("Field1")) != "") {
Recordset1__MMColParam = String(Request.QueryString("Field1"));
}
%>
<%
var Recordset1_cmd = Server.CreateObject ("ADODB.Command");
Recordset1_cmd.ActiveConnection = MM_caspa_STRING;
Recordset1_cmd.CommandText = "SELECT Field1, userGroup FROM [Access] WHERE Field1 = ?";
Recordset1_cmd.Prepared = true;
Recordset1_cmd.Parameters.Append(Recordset1_cmd.CreateParameter("param1", 200, 1, 255, Recordset1__MMColParam)); // adVarChar

var Recordset1 = Recordset1_cmd.Execute();
var Recordset1_numRows = 0;
%>
<%
var resultSet__MMColParam = "1";
if (String(Request.QueryString("email")) != "undefined" &&
String(Request.QueryString("email")) != "") {
resultSet__MMColParam = String(Request.QueryString("email"));
}
%>
<%
var resultSet_cmd = Server.CreateObject ("ADODB.Command");
resultSet_cmd.ActiveConnection = MM_caspa_STRING;
resultSet_cmd.CommandText = "SELECT Field1, userGroup FROM [Access] WHERE Field1 = ? ORDER BY Field1 DESC";
resultSet_cmd.Prepared = true;
resultSet_cmd.Parameters.Append(resultSet_cmd.CreateParameter("param1", 200, 1, 255, resultSet__MMColParam)); // adVarChar

var resultSet = resultSet_cmd.Execute();
var resultSet_numRows = 0;
%>
<%
var resultsSet__MMColParam = "1";
if (String(Request.QueryString("email")) != "undefined" &&
String(Request.QueryString("email")) != "") {
resultsSet__MMColParam = String(Request.QueryString("email"));
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CASPA - Connecticut Association of School Personnel Administrators</title>

<script src="WA_Cookies/Cookies.js"></script>

<link href="caspa.css" rel="stylesheet" type="text/css" /></head>

<body>
<a name="top" id="top"></a>
<p> </p>
<table width="806" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="806" height="135" align="left" valign="top"><img src="img/nav/header.jpg" alt="CASPA" width="806" height="135" /></td>
</tr>
<tr>
<td align="left" valign="top" background="img/nav/bkg_whole_page_rht_lft_bord.jpg"><table width="806" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="193" align="left" valign="top">

<!--#include file="menu.html" -->

<p> </p></td>
<td width="613" align="left" valign="top">
<p align="right"> <span class="style3">(<a href="<%= MM_Logout %>" class="style3">logout</a>)</span>       </p>
<p align="center" class="style3">CASPA Admin -Set Member Access Level ( back to <a href="admin.asp">admin homepage</a>) <strong></strong></p>
<p align="left" class="style3">Directions:</p>
<ol>
<li class="style2">Edit Current Access Level field - &quot;admin&quot;, &quot;basic&quot;, or &quot;none&quot; </li>
<li class="style2">Click Update Access Level </li>
</ol>
<form ACTION="<%=MM_editAction%>" METHOD="POST" id="form1" name="form1">
<table width="65%" border="1" cellspacing="0" cellpadding="4">
<tr>
<td width="66%"><span class="style3">Member's E-mail Address</span> <br />
<span class="style2"><%=(resultSet.Fields.Item("Field1").Value)%></span></td>
<td width="34%"><span class="style3">Current Access Level</span><br />
<input name="AccessLevel" type="text" class="style2" id="AccessLevel" value="<%=(resultSet.Fields.Item("userGroup").Value)%>" /></td>
</tr>
</table>
<label><br />
</label>
<label></label>
<p>
<label>
<input type="submit" name="Submit" value="Update Access Level" />
</label>
</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="MM_recordId">
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="MM_recordId" value="<%= resultSet.Fields.Item("Field1").Value %>">
</form>
<p> </p> </td>
</tr>
</table></td>
</tr>
<tr>
<td width="806" height="13" align="left" valign="top"><img src="img/nav/bottom.jpg" alt="CASPA" width="806" height="13" /></td>
</tr>
<tr>
<td height="13" align="left" valign="top">
<!--#include file="footer.html" -->
</td>
</tr>
</table>
</body>
</html>
<%
Recordset1.Close();
%>
<%
resultSet.Close();
%>

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 16, 2006 Jun 16, 2006

Copy link to clipboard

Copied

Hi Rob - I figured it all out - thanks for your help

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 16, 2006 Jun 16, 2006

Copy link to clipboard

Copied

Hi Rob - thanks so much for taking a look - you are right - and I was able to actually make it work late last night - that is the drop down - finally takes the user to a page with the selected record form the drop-down. However, this is where i am completely lost - as I want to use that page to update one field in that record - right now - if you edit the AccessLevel form field and click on the Update button - nothing happens - if you have a moment and see anything obvious - lmk - all I have been trying to do in total is allow a user to selct a record and edit one firled in that record and update.

<%@LANGUAGE="JAVASCRIPT"%>

<!--#include file="Connections/caspa.asp" -->
<%
// *** Edit Operations: declare variables

// set the form action variable
var MM_editAction = Request.ServerVariables("SCRIPT_NAME");
if (Request.QueryString) {
MM_editAction += "?" + Server.HTMLEncode(Request.QueryString);
}

// boolean to abort record edit
var MM_abortEdit = false;
%>
<%
if (String(Request("MM_update")) == "form1") {
if (!MM_abortEdit) {
// execute the update

var MM_editCmd = Server.CreateObject ("ADODB.Command");
MM_editCmd.ActiveConnection = MM_caspa_STRING;
MM_editCmd.CommandText = "UPDATE [Access] SET userGroup = ? WHERE Field1 = ?";
MM_editCmd.Prepared = true;
MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param1", 201, 1, -1, Request.Form("AccessLevel"))); // adLongVarChar
MM_editCmd.Parameters.Append(MM_editCmd.CreateParameter("param2", -1, 1, -1, (String(Request.Form("MM_recordId")) != "undefined" && String(Request.Form("MM_recordId")) != "") ? Request.Form("MM_recordId") : null)); // N/A
MM_editCmd.Execute();
MM_editCmd.ActiveConnection.Close();

// append the query string to the redirect URL
var MM_editRedirectUrl = "update_success.asp";
if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.Count > 0) {
MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1) ? "?" : "&") + Request.QueryString;
}
Response.Redirect(MM_editRedirectUrl)
}
}
%>
<%
var Recordset1__MMColParam = "1";
if (String(Request.QueryString("Field1")) != "undefined" &&
String(Request.QueryString("Field1")) != "") {
Recordset1__MMColParam = String(Request.QueryString("Field1"));
}
%>
<%
var Recordset1_cmd = Server.CreateObject ("ADODB.Command");
Recordset1_cmd.ActiveConnection = MM_caspa_STRING;
Recordset1_cmd.CommandText = "SELECT Field1, userGroup FROM [Access] WHERE Field1 = ?";
Recordset1_cmd.Prepared = true;
Recordset1_cmd.Parameters.Append(Recordset1_cmd.CreateParameter("param1", 200, 1, 255, Recordset1__MMColParam)); // adVarChar

var Recordset1 = Recordset1_cmd.Execute();
var Recordset1_numRows = 0;
%>
<%
var resultSet__MMColParam = "1";
if (String(Request.QueryString("email")) != "undefined" &&
String(Request.QueryString("email")) != "") {
resultSet__MMColParam = String(Request.QueryString("email"));
}
%>
<%
var resultSet_cmd = Server.CreateObject ("ADODB.Command");
resultSet_cmd.ActiveConnection = MM_caspa_STRING;
resultSet_cmd.CommandText = "SELECT Field1, userGroup FROM [Access] WHERE Field1 = ? ORDER BY Field1 DESC";
resultSet_cmd.Prepared = true;
resultSet_cmd.Parameters.Append(resultSet_cmd.CreateParameter("param1", 200, 1, 255, resultSet__MMColParam)); // adVarChar

var resultSet = resultSet_cmd.Execute();
var resultSet_numRows = 0;
%>
<%
var resultsSet__MMColParam = "1";
if (String(Request.QueryString("email")) != "undefined" &&
String(Request.QueryString("email")) != "") {
resultsSet__MMColParam = String(Request.QueryString("email"));
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CASPA - Connecticut Association of School Personnel Administrators</title>

<script src="WA_Cookies/Cookies.js"></script>

<link href="caspa.css" rel="stylesheet" type="text/css" /></head>

<body>
<a name="top" id="top"></a>
<p> </p>
<table width="806" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="806" height="135" align="left" valign="top"><img src="img/nav/header.jpg" alt="CASPA" width="806" height="135" /></td>
</tr>
<tr>
<td align="left" valign="top" background="img/nav/bkg_whole_page_rht_lft_bord.jpg"><table width="806" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="193" align="left" valign="top">

<!--#include file="menu.html" -->

<p> </p></td>
<td width="613" align="left" valign="top">
<p align="right"> <span class="style3">(<a href="<%= MM_Logout %>" class="style3">logout</a>)</span>       </p>
<p align="center" class="style3">CASPA Admin -Set Member Access Level ( back to <a href="admin.asp">admin homepage</a>) <strong></strong></p>
<p align="left" class="style3">Directions:</p>
<ol>
<li class="style2">Edit Current Access Level field - &quot;admin&quot;, &quot;basic&quot;, or &quot;none&quot; </li>
<li class="style2">Click Update Access Level </li>
</ol>
<form ACTION="<%=MM_editAction%>" METHOD="POST" id="form1" name="form1">
<table width="65%" border="1" cellspacing="0" cellpadding="4">
<tr>
<td width="66%"><span class="style3">Member's E-mail Address</span> <br />
<span class="style2"><%=(resultSet.Fields.Item("Field1").Value)%></span></td>
<td width="34%"><span class="style3">Current Access Level</span><br />
<input name="AccessLevel" type="text" class="style2" id="AccessLevel" value="<%=(resultSet.Fields.Item("userGroup").Value)%>" /></td>
</tr>
</table>
<label><br />
</label>
<label></label>
<p>
<label>
<input type="submit" name="Submit" value="Update Access Level" />
</label>
</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="MM_recordId">
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="MM_recordId" value="<%= resultSet.Fields.Item("Field1").Value %>">
</form>
<p> </p> </td>
</tr>
</table></td>
</tr>
<tr>
<td width="806" height="13" align="left" valign="top"><img src="img/nav/bottom.jpg" alt="CASPA" width="806" height="13" /></td>
</tr>
<tr>
<td height="13" align="left" valign="top">
<!--#include file="footer.html" -->
</td>
</tr>
</table>
</body>
</html>
<%
Recordset1.Close();
%>
<%
resultSet.Close();
%>

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Jun 19, 2006 Jun 19, 2006

Copy link to clipboard

Copied

LATEST
If you are passing the ID number of a record to the edit page, all you need
to do is filter one recordset (that contains the fields you want to edit) by
the ID number passed in, then populate the form fields by binding the
recordset fields to the form fields.
When the user clicks the update button, that will run the Update code that
you have applied to the page - make sure that your main recordset contains
the ID column too.

HTH
Rob
http://robgt.com/ [Tutorials and Extensions]
Firebox stuff: http://robgt.com/firebox
Skype stuff: http://robgt.com/skype
Dell stuff: http://robgt.com/dell
SatNav stuff: http://robgt.com/satnav



Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines