ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » JoinUs Pflichtfelder

Geschlossen
  1. #1
    User Pic
    Luci Mitglied
    Registriert seit
    06.07.2011
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    Moin,

    folgendes Problem: Alle Felder im JoinUs sind Pflichtfelder. Schlecht.

    Meine begrenzten PHP-Skills sagen mir, dass hierfür folgender Abschnitt in der joinus.php zuständig ist:

    $far = array (
    		'name',
    		'skill',
    		'battlenet',
    		'steamid',
    		'xfire',
    		'favmap',
    		'mail',
    		'age',
    		'hometown',
    		'squad',
    		'ground',
    		'rules'
    	);
    $x = 0;
    foreach ($far as $v) {
    	if (!empty($_POST[$v])) {
    		$$v = escape($_POST[$v], 'string');
    		$x++;
    	} else {
    		$$v = '';
    	}


    Sodala, mag mir jemand verraten, wie ich es einstelle, dass nur BESTIMMTE Felder Pflichtfelder sind?

    Herzlichen Dank,

    Luci


    verwendete ilchClan Version: 1.1 I

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Tr3icio gelöschter User
    Mit dem Codeschnipsel nicht :-) Du musst gucken wo alles eingetragen wird.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Luci Mitglied
    Registriert seit
    06.07.2011
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    Gehts vielleicht ein bisschen genauer? Wäre nett.

    Bin ich in der joinus.php überhaupt richtig?

    Gruß und Dank,

    Luci
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Tr3icio gelöschter User
    Ja.

    Du musst gucken wo db_query() aufgerufen wird und dort die abfrage der variablen ändern
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.675
    Beitragswertungen
    1212 Beitragspunkte
    Du bist schon ganz richtig, nur das die Prüfung im darauf folgendem Code erscheint.

    Da werden die Post mit $x verglichen!
    count($far) <> $x


    deshalb erscheint auch danach die genaue Ausgabe der fehlenden Angaben:
    if ($x > 0 AND empty($_POST[$v])) { echo 'missing: '.$lang[$v].'<br />'; }
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Luci Mitglied
    Registriert seit
    06.07.2011
    Beiträge
    3
    Beitragswertungen
    0 Beitragspunkte
    Bingo, darüber bin ich auch grad gestolpert. Jetzt hab ich aber nen Verständnisproblem:

    Alle Pflichtfelder zu beseitigen ist jetzt ja ein Leichtes, jedoch lauf ich dann Gefahr, dass ich auch mal leere Join Us-Formulare erhalte zwinker. Wie bekomm ich es nun also hin, dass nur einzelne Felder Pflicht sind?

    Mein erster Gedanke wäre, für die Pflichtfelder eine neue Variable zu definieren. Mag mir noch mal wer auf die Sprünge helfen?
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Tr3icio gelöschter User
    du machst einfach über

    if ($x > 0 AND empty($_POST[$v])) { echo 'missing: '.$lang[$v].'<br />'; }


    ne Variable so:

    $array = new array('bla1', 'bla2', 'bla3');


    Und so weiter. Dort machst dud ei Pflichtfelder rein.
    Und dann änderst du die If Abfrage in:

    if ($x > 0 AND empty($_POST[$v]) && in_array($v)) { echo 'missing: '.$lang[$v].'<br />'; }
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Jtgarrett Mitglied
    Registriert seit
    25.07.2011
    Beiträge
    6
    Beitragswertungen
    0 Beitragspunkte
    Hmmm... hab das gleiche Problem... und daraus werde ich nicht schlau...

    $array = new array('bla1', 'bla2', 'bla3');


    Wofür steht hier jetzt bla1 bla2 und bla3 und wo soll das da jetzt genau hin und wieso sollte das dann nur bestimmte bereiche als optionale Felder ändern?


    Ich habs so gemacht:

    Ich nahm:

      foreach($far as $v) {
    		if ($x > 0 AND empty($_POST[$v])) { echo 'missing: '.$lang[$v].'<br />'; }
    			echo 'missing: '.$lang[$v].'<br />';
    		}


    und machte daraus:

    foreach($far as $v) {
     $array = new array('server', 'faction', 'mail');
      if ($x > 0 AND empty($_POST[$v]) && in_array($v)) { echo 'missing: '.$lang[$v].'<br />'; }
       echo 'missing: '.$lang[$v].'<br />';
    		}


    und bekam dann ne Fehlermeldung wenn ich es aufgerufen habe.

    Auch bei der Version gab es diese Fehlermeldung:

    $array = new array('server', 'faction', 'mail');
     foreach($far as $v) {
      if ($x > 0 AND empty($_POST[$v]) && in_array($v)) { echo 'missing: '.$lang[$v].'<br />'; }
       echo 'missing: '.$lang[$v].'<br />';
    		}



    Zuletzt modifiziert von Jtgarrett am 25.07.2011 - 20:23:38
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    stilu2k6 Mitglied
    Registriert seit
    03.12.2011
    Beiträge
    4
    Beitragswertungen
    0 Beitragspunkte
    dies würde mich auch interessieren. Ich wollte nur das ICQ weg haben den rest lassen glücklich
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Zewa Mitglied
    Registriert seit
    16.11.2014
    Beiträge
    19
    Beitragswertungen
    0 Beitragspunkte
    Up... das wüsste ich auch gern;)
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten