Archief - PHP: controle op ingegeven nul?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Noizz.be

Legacy Member
hey,

ik snap iets niet in php

Als je wilt controleren of er een nul ingegeven is in een var (door een invulveld), voert hij die controle percies niet fatsoenlijk uit.

hier mijn code:
PHP:
	//uren checken of ze bestaan
	if(s_starthour > '23' || s_starthour < '0' || s_startmins > '59' || s_startmins < '0'){$error_starthour = 1;}
	if(s_endhour > '23' || s_endhour < '0' || s_endmins > '59' || s_endmins < '0'){$error_endhour = 1;}

Als ik dus een geldige datum ingeef zet hij errors dus toch op 1.
Hoe kan ik dit verhelpen.

(ik heb zo'n gelijkaardig probleem ook nog gehad op een andere website. Wanneer mensen een 0 ingaven stond dit voor ("gratis"), maar php geef altijd een fout dat, het veld dus niet correct is. Toen had ik het maar anders opgelost: door een X te laten ingeven wanneer het "gratis" is.

Alvast bedankt
Noizz

Noizz.be

Legacy Member
PS:
ingegeven waarde is:
12:00 (in 2 aparte velden dus wel)
13:00 (ook in 2 aparte velden)

en ze worden dan opgehaald door een $_post

PHP:
	$s_starthour = trim($_POST['starthour']);
	$s_startmins = trim($_POST['startmins']);
				
	$s_endhour = trim($_POST['endhour']);
	$s_endmins = trim($_POST['endmins']);

Wanneer ik de vars afdruk (om te debuggen krijg ik weldeglijk de waarde die ingegeven is, dus daar zit het probleem niet.

Noizz

Col.Kurtz

Legacy Member
Dollar tekens niet vergeten, want het zijn geen constanten,
zet geen integers tussen quote's.

Noizz.be

Legacy Member
whoops :), dom van mij om die dollars te vergeten.

Bedankt

Noizz.be

Legacy Member
Kzit weer met een probleem ze,

Als ik een query uitvoer, geeft hij de melding dat deze is toegevoegd, ga ik dan in mysql db kijken staat hij er niet in:

stukje van code:

PHP:
	//verzendingen indien alles juist is
	if($error_starthour == 0 && $error_endhour == 0 && $errordates == 0 && $errortitle == 0 && $errorartist == 0)
	{
		$s_title = addslashes($s_title);
		$s_artist = addslashes($s_artist);

		mysql_query("INSERT INTO `tblShedule` ( `sheduleid` , `shedulebegintimestamp` , `sheduleendtimestamp` , `sheduletitle` , `shedulehost` ) VALUES ('', '$timestamp_startdate', '$timestamp_enddate', '$s_title', '$s_artist');");
						
		$sent = 1;
	}

Ik heb ook al geprobeert zonder die sheduleID (in mijn query), kheb al geprobeert zonder '.
Als ik mijn vars afdruk, dan blijken die te kloppen.
Is er een mogelijkheid om mijn SQL instructie af te drukken (met ingevulde var) om te kijken WAT hij juist invuld, en dan kan ik dat hier ook posten.

Bedankt
Noizz

Col.Kurtz

Legacy Member
probeer zo eens :


mysql_query("INSERT INTO tblShedule ( shedulebegintimestamp , sheduleendtimestamp , sheduletitle , shedulehost ) VALUES ('$timestamp_startdate', '$timestamp_enddate', '$s_title', '$s_artist');");

Noizz.be

Legacy Member
Na zowat een half uur zoeken ben ik tot de constatatie gekomen dat ik mijn connectie niet gelegd had *angry*

Noizz
Merci voor de reply e ;)

medic

Legacy Member
trouwens, gebruik deze syntax eens voor te inserten, is veel overzichtelijker imo:

INSERT INTO tabel SET veldnaam='waarde', veldnaam='waarde', veldnaam='waarde', etc...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan