<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Benjamin Mock &#187; query_string</title>
	<atom:link href="http://benjaminmock.de/tag/query_string/feed/" rel="self" type="application/rss+xml" />
	<link>http://benjaminmock.de</link>
	<description>web &#38; mobile development</description>
	<lastBuildDate>Tue, 08 Nov 2011 16:20:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Mischen von Query-Strings und URL-Segmenten</title>
		<link>http://benjaminmock.de/mischen-von-query-strings-und-url-segmenten/</link>
		<comments>http://benjaminmock.de/mischen-von-query-strings-und-url-segmenten/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 16:07:54 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[query_string]]></category>
		<category><![CDATA[uri_protocol]]></category>

		<guid isPermaLink="false">http://benjaminmock.de/?p=152</guid>
		<description><![CDATA[CodeIgniter ist auf saubere URLs ausgelegt. Das heißt, dass Daten entweder per post durch Formulare oder per URL-Segment übergeben werden. Ein Zugriff auf das $_GET-Array ist in der Standardkonfiguration nicht vorgesehen. Dennoch kann es nötig sein eben dieses $_GET-Array zu nutzen. Eine Suchfunktion kann zum Beispiel ein Grund dafür sein. Zwar könnte der Suchstring auch [...]]]></description>
			<content:encoded><![CDATA[<p>CodeIgniter ist auf saubere URLs ausgelegt. Das heißt, dass Daten entweder per post durch Formulare oder per URL-Segment übergeben werden. Ein Zugriff auf das <b>$_GET</b>-Array ist in der Standardkonfiguration nicht vorgesehen. Dennoch kann es nötig sein eben dieses <b>$_GET</b>-Array zu nutzen. Eine Suchfunktion kann zum Beispiel ein Grund dafür sein. Zwar könnte der Suchstring auch mit post aus dem Formular übergeben werden, jedoch gäbe es keine Ergebnis-URLs, die z.B. vom Benutzer kopiert werden könnten. Entweder man kodiert den Suchstring mit base64 und nutzt diesen dann als URL Segment, so dass eindeutige URLs entstehen für alle Suchanfragen, allerdings ist diese URL dann natürlich nicht mehr lesbar. Will man lesbare URLs, muss man zwangsläufig auf die <b>Get-Methode</b> zurückgreifen.</p>
<p>Dazu setzt man in <b>system/application/config/config.php</b> den Wert von uri_protocol von AUTO auf PATH_INFO.</p>
<div class="wp_syntax">
<div class="code">
<pre class="php" style="font-family:monospace;"><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'uri_protocol'</span><span style="color: #009900;">&#93;</span>	<span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;PATH_INFO&quot;</span><span style="color: #339933;">;</span></pre>
</div>
</div>
<p>In den Controllern, in denen nun das $_GET-Array genutzt werden soll muss folgende Zeile in den Konstruktor:</p>
<div class="wp_syntax">
<div class="code">
<pre class="php" style="font-family:monospace;"><span style="color: #990000;">parse_str</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'QUERY_STRING'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre>
</div>
</div>
<p>Damit kann dann in diesen Controllern ganz normal auf $_GET zugegriffen werden. Dennoch bleiben auch die URL-Segmente aktiviert und können weiter genutzt werden. </p>
]]></content:encoded>
			<wfw:commentRss>http://benjaminmock.de/mischen-von-query-strings-und-url-segmenten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

