Beiträge von Basi

    Zitat von "lauras"

    Oder ein leichter SPAM-Schutz. Die meisten Bots füllen alle Felder aus, also einfach überprüfen ob das Feld leer ist ;)

    LG

    Ein Beispiel:

    Man baut sich eine Registration:

    benutzername
    passwort
    email-adresse

    Jetzt wissen wir einfach mal, das Bots Felder die mail oder email heißen ausfüllen.

    Das nutzen wir aus, wir erstellen unser Formular wie folgt:

    Zur Erläuterung:

    <?php print mktime(); ?>
    Das gibt den aktuellen "Epochen-Zeitstempel" zurück, das heißt, uns wird in das value Attribut das jetzige Datum + Uhrzeit in Form von 1338837900 eingetragen, dieser Zeitstempel ändert sich sekündlich und ist somit quasi einzigartig, man kann auch einfach Sachen wie "hallo_wie_gehts" eintragen, das ist allerdings nicht ganz so sicher.

    Das Feld welches wir email genannt haben, wird dem Benutzer nicht angezeigt (type="hidden"), noch besser ist, das ganze als text zu nutzen, und per CSS unsichtbar zu machen, erhöht die Sicherheit, ist aber nicht zwingend erforderlich.

    Das Feld wird Benutzern nicht angezeigt, Bots jedoch lesen es sehr wohl aus, und werden es daher auch ausfüllen, wohingegen Benutzer es frei lassen.

    Per PHP prüfen wir nun einfach ob email ausgefüllt wurde, wenn ja, soforrt abbrechen und NICHTS ausgeben.

    Zitat von &quot;lauras&quot;

    Und das Impressum fehlt immer noch... ;)

    LG

    Was will man auch mit so einem Müll xD

    Spaß beiseite, das muss echt her, auch wenns ein Projekt ist, sowas suchn doch irgendwelche Anwälte die auf dem trockenen sitzen.

    Hey Peter,

    zu deiner Frage, das ! kehrt nicht direkt um, es sieht wie folgt aus:

    PHP
    <span class="syntaxdefault"><br />  </span><span class="syntaxkeyword">if(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">5</span><span class="syntaxkeyword">)){ ...<br /><br />  </span><span class="syntaxcomment">// gleichzusetzen mit:<br /><br />  </span><span class="syntaxkeyword">if(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">5</span><span class="syntaxkeyword">) == </span><span class="syntaxdefault">true</span><span class="syntaxkeyword">){ ...<br /> </span><span class="syntaxdefault"></span>
    PHP
    <span class="syntaxdefault"><br />  </span><span class="syntaxkeyword">if(!</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">5</span><span class="syntaxkeyword">)){ ...<br /><br />  </span><span class="syntaxcomment">// gleichzusetzen mit:<br /><br />  </span><span class="syntaxkeyword">if(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">5</span><span class="syntaxkeyword">) == </span><span class="syntaxdefault">false</span><span class="syntaxkeyword">){ ...<br /> </span><span class="syntaxdefault"></span>

    Meine Variante versachtelt letztendlich nur die if Abfragen etwas mehr miteinander.

    Ich hätte das in etwa so geregelt:

    PHP
    <span class="syntaxdefault"><br /><br />  $formular </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'<br />    <form action="'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault"> $_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'PHP_SELF'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">.</span><span class="syntaxstring">'" method="post"><br />      <p><br />        Vorname: <br /><br />        <input type="text" name="vorname" /><br />      </p><br />      <p><br />        Nachname: <br /><br />        <input type="text" name="name" /><br />      </p><br />      <p><br />        Anzahl Personen: <br /><br />        <input type="text" name="anzahl" /><br />      </p><br />      <p><br />        <input type="hidden" name="send" value="true" /><br />        <input type="submit" value="Eintragen" /><br />      </p><br />    </form><br />  '</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">$send    </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'send'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">$vorname </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'vorname'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">$name    </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'name'</span><span class="syntaxkeyword">];<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">@</span><span class="syntaxdefault">$anzahl  </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'anzahl'</span><span class="syntaxkeyword">];<br /><br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'true'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> $send</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// überprüfung<br /><br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxstring">''</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> $vorname AND </span><span class="syntaxstring">''</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> $name AND </span><span class="syntaxstring">''</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> $anzahl AND is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$anzahl</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// alles ausgefüllt<br /><br /></span><span class="syntaxdefault">      print </span><span class="syntaxstring">'<p style="color: #00C300; font-weight: bold;">Daten erfolgreich eingetragen!</p>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    else<br />    </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// da fehlt was, formular anzeigen, dann fehler auflisten<br /><br /></span><span class="syntaxdefault">      print $formular</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxstring">''</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> $vorname</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault">      print </span><span class="syntaxstring">'<p style="color: #FF0000; font-weight: bold;">Bitte Vornamen eintragen!</p>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxstring">''</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> $name</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault">      print </span><span class="syntaxstring">'<p style="color: #FF0000; font-weight: bold;">Bitte Nachnamen eintragen!</p>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxstring">''</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> $anzahl</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault">      print </span><span class="syntaxstring">'<p style="color: #FF0000; font-weight: bold;">Bitte Anzahl der gew&uuml;nschten Pl&auml;tze eintragen!</p>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">    if</span><span class="syntaxkeyword">(</span><span class="syntaxstring">''</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> $anzahl AND </span><span class="syntaxkeyword">!</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$anzahl</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault">      print </span><span class="syntaxstring">'<p style="color: #FF0000; font-weight: bold;">Anzahl ist leider keine Zahl!</p>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">  else<br />  </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// formular noch nicht abgesendet<br /><br /></span><span class="syntaxdefault">    print $formular</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault"> </span>

    Allerdings ist das die Grundfunktion, damit das wirklich gut ist fehlt natürlich noch einiges, der Benutzer kann bei Vorname immer noch etwas eintragen wie z.B. &JSHGvg3578KUZ($)/(Z&%"!§uhIZVI, und es fehlt auch noch das Eingabefeld für die E-Mailadresse zur Bestätigung der anmeldung, die muss auch noch validiert werden (regulärer Ausdruck).

    Aber das was du wolltest beinhaltet das allemal :wink: (axel die smilies sind doch kacke... : D)

    Da können wir doch helfen :P

    Probiere mal so:

    PHP
    <span class="syntaxdefault"><br /><br />  $var </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 1</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$var</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault">    print </span><span class="syntaxstring">'$var ist eine Zahl!'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">################<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment"># Oder deine Variablen:<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">################<br /><br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'zahl'</span><span class="syntaxkeyword">]))<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">{<br /><br /></span><span class="syntaxdefault">    print </span><span class="syntaxstring">'Eingabe ist eine Zahl!'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">}</span><span class="syntaxdefault">  <br /><br /> </span>


    Kurze Hilfestellung zu is_numeric:

    PHP
    <span class="syntaxdefault"><br />  if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'fuenf'</span><span class="syntaxkeyword">))</span><span class="syntaxdefault">   </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">/* falsch */</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">5</span><span class="syntaxkeyword">))</span><span class="syntaxdefault">         </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">/* wahr */</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'5'</span><span class="syntaxkeyword">))</span><span class="syntaxdefault">       </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">/* wahr */</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(-</span><span class="syntaxdefault">5</span><span class="syntaxkeyword">))</span><span class="syntaxdefault">        </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">/* wahr */</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'-5'</span><span class="syntaxkeyword">))</span><span class="syntaxdefault">      </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">/* wahr */</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">0.54</span><span class="syntaxkeyword">))</span><span class="syntaxdefault">      </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">/* wahr */</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(-</span><span class="syntaxdefault">17.92657</span><span class="syntaxkeyword">))</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">/* wahr */</span><span class="syntaxkeyword">;</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">  $zahl1 </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> 7</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl1</span><span class="syntaxkeyword">))</span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">/* wahr */</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /><br /></span><span class="syntaxdefault">  $zahl2 </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'elf'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl2</span><span class="syntaxkeyword">))</span><span class="syntaxdefault">    </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">/* falsch */</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> </span>

    Was du möchtest sieht in etwa so aus:

    PHP
    <span class="syntaxdefault"><br />  $zahl </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> $_GET</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'zahl'</span><span class="syntaxkeyword">];<br /><br /></span><span class="syntaxdefault">  if</span><span class="syntaxkeyword">(</span><span class="syntaxstring">''</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">!=</span><span class="syntaxdefault"> $zahl AND is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// zahl ist ausgefüllt UND es ist eine zahl<br /><br /></span><span class="syntaxdefault">    print </span><span class="syntaxstring">'<p>Bei der Eingabe handelt es sich um eine Zahl!</p>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">  elseif</span><span class="syntaxkeyword">(</span><span class="syntaxstring">''</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> $zahl</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// zahl ist leer, O.o<br /><br /></span><span class="syntaxdefault">    print </span><span class="syntaxstring">'<p>Zahl nicht ausgef&uuml;llt!</p>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">  elseif</span><span class="syntaxkeyword">(!</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$zahl</span><span class="syntaxkeyword">))<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">{</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// zahl ist keine zahl, hö?<br /><br /></span><span class="syntaxdefault">    print </span><span class="syntaxstring">'<p>Zahl ist keine Zahl...</p>'</span><span class="syntaxkeyword">;<br /><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> </span>

    Du kannst das auch mit regulären Ausdrücken regeln aber das ist ein wenig komplizierter und das verrate ich dir auch nur wenn du lieb fragst :)

    Ich denke das würde dich nur verwirren.

    Zitat von &quot;hume&quot;

    OK,Klartext heißt dass also ich muss alle Umbrüche von den HTML Seiten entfernen und stattdessen mit margin-top ersetzen richtig? Oder falsch?

    Genau so musst du arbeiten, <br /> ist dafür, wenn du in einem Text mal einen Zeilenumbruch brauchst und keinen neuen <p> anfangen möchtest.

    Uiiii, 2 Wochen Urlaub, Luxus, na dann viel Vergnügen.

    Zitat von &quot;hume&quot;

    Der Befehl margin-top = absoluter Abstand zum Seitenrand, ich brauche aber nicht den Seitenrand sondern den Abstand zwischen Text und Text also Umbruch <br />

    Es geht nicht um den Abstand zum Rand, sondern um den Abstand zu jedem Element, also auch von p - p.

    Das ist halt genau dafür das du eine Information mit sendest, z.B. kannst du dann überprüfen ob das Formular wirklich gesendet wurde.

    Es kommt natürlich blöde wenn da plötzlich ein Eingabefeld ist wo "gesendet" drinne steht :wink:

    Zitat von &quot;Peter1978&quot;

    Hallo!

    .tbg { bottom:0; }

    mfg
    ^^

    Nicht ganz korrekt, das funktioniert nur wenn eine position angegeben wird:

    Code
    .tbg {
      position: absolute; /* oder fixed */
      bottom: 0;
    }