1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

PHP string teilweise checken

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von mschoening, 11.04.08.

  1. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Hi,
    ich bin dabei ein einfaches Formular zu validieren und bei einem Feld sieht das bisher so aus:
    Code:
    // Check if contact detail is available.
    if ($_POST['contact_detail'] == '' || $_POST['contact_detail'] == 'enter your phone or email') {
    	$errors[] = "Whoops, you forgot to fill out a field.";
    }
    
    Der checkt jetzt ob das Feld ganz leer ist oder ob es den initial value enthält. Wie bekomme ich das hin, dass er jetzt den initial value prüft auch wenn er nur teilweise vorhanden ist.

    Er soll also den error array auch ausgeben wenn in dem Feld so was steht wie enter you oder enter your ph oder email oder or email...

    Die live Seite (und das Markup) kann man hier sehen: kntrast.com

    Thanks,
    Max
     
  2. skuZz

    skuZz Rheinischer Krummstiel

    Dabei seit:
    30.12.07
    Beiträge:
    377
    ich würde noch zwei if schleifen einbauen. allerdings hast du noch ein anderes problom. wer garantiert dir, dass jemand auch eine telenummer oder email eingibt. Nach deinem Code, kann man jeden mist eintippen. Würde deshalb entsprechende parameter einbauen!
     
  3. zeno

    zeno Lane's Prinz Albert

    Dabei seit:
    05.11.05
    Beiträge:
    4.898
    Ich würde ne Regex nehmen und auf das prüfen was rein soll und nicht auf das was eventuell drin sein könnte, aber nicht soll
     
  4. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    Was zeno sagt. Ansonsten empfehle ich empty() statt $xyz==''. :)
     
  5. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Ja moment ich mach mal kurz...schick euch dann den Code.
     
  6. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Voila...

    Code:
    <?php
    	// Required functions.
    	// Check if valid email.
    	function valid_email($str) {
    		return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
    	}
    	
    	//Check if valid phone.
    	function valid_phone($str){
    		return ( ! preg_match("/^([0-9])+$/i", $str)) ? FALSE : TRUE;
    	}
    	
    	// Wait 3 seconds.
    	sleep(3);
    
    	// Check if contact detail is available.
    	if (valid_email($_POST['contact_detail']) == FALSE || valid_phone($_POST['contact_detail']) == FALSE) {
    		$errors[] = "Whoops, looks like your email or phone number is invalid.";
    	}
    
    	//Display erros in log.
    	if (is_array($errors)) {
    		while (list($key,$value) = each($errors)) {
    			echo $value;
    		}
    	}
    	
    	else {
    		//Complete fields.
    		$contact_detail = $_POST['contact_detail'];
    		
    		//Email Header.
    		$to = 'steve@jobs.com';
    		$from = "From: " . $_POST['$contact_detail'];
    		$subject = "Potential client inquiry";
    		
    		//Email Body.
    		$body = "Hi,\nI am a potential client. Contact me ($contact_detail) and don't forget to be polite.";
    		
    		//Send Email
    		if (mail($to, $subject, $body, $from)) {
    			echo "We've received your digits. We'll contact you within the next 24 hours.";
    		}
    		
    		else {
    			echo "Whoops, looks like it didn't work. Try again in a second.";
    		}
    	} 
    ?>
     
  7. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Fehler drinn...muss kurz weg! Wenn ihr ihn findet könnt ihr ihn ja posten...
     
  8. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    So jetzt gehts:
    Code:
    // Required functions.
    // Check if valid email.
    function valid_email($str) {
    	return (! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
    }
    
    //Check if valid phone.
    function valid_phone($str){
    	return (! preg_match("/^([0-9])+$/i", $str)) ? FALSE : TRUE;
    }
    
    // Wait 3 seconds.
    sleep(3);
    
    // Check if contact detail is available.
    if (valid_email($_POST['contact_detail']) == FALSE) {
    	if (valid_phone($_POST['contact_detail']) == FALSE) {
    		$errors[] = "Whoops, looks like your email or phone number is invalid.";
    	}
    }
    
    Das einzige was ich nicht hinbekomme ist, dass ich validiere ob die Telefon Nummer mindestens 5 Zeichen lang ist... ich weiss nicht genau wo ich nach <5 prfüfen muss...
     
    #8 mschoening, 11.04.08
    Zuletzt bearbeitet: 11.04.08
  9. mschoening

    mschoening Gelbe Schleswiger Reinette

    Dabei seit:
    21.02.07
    Beiträge:
    1.764
    Kann jemand helfen?
     
  10. JanK

    JanK Tokyo Rose

    Dabei seit:
    26.03.08
    Beiträge:
    71

Diese Seite empfehlen