# Warnings abfangen



## derZwerch (26. März 2004)

Hallo zusammen,
ich habe mal wieder eine Frage
Aber erstmal ein bisschen Quellcode:

```
if($_POST['submit'])      
 
 { 
	   
    
      
      		$NUTZER = $HTTP_POST_VARS["nutzer"]; 
			$KURZ = $HTTP_POST_VARS["kurz"]; 
			$IP = $HTTP_POST_VARS["ip"]; 
			$HOST = $HTTP_POST_VARS["host"]; 
			$OS = $HTTP_POST_VARS["os"];
			$OSKEY = $HTTP_POST_VARS["oskey"];
      		$OFFICE = $HTTP_POST_VARS["office"];
			$OFFICEKEY = $HTTP_POST_VARS["officekey"];
      		$DATE = $HTTP_POST_VARS["date"];
			$INFO = $HTTP_POST_VARS["info"];
      
	$dbanfrage = "select * from PC where IP=$IP";
	$sql2 = mysql_query ($dbanfrage); 
	while($ausgabe = mysql_fetch_array($sql2))
	{  
		$help=$ausgabe['IP'];
	}
			if($IP==$help)
		{   $NUTZER1 = $HTTP_POST_VARS["nutzer"]; 
			$KURZ1 = $HTTP_POST_VARS["kurz"]; 
			 
			$HOST1 = $HTTP_POST_VARS["host"]; 
			$OS1 = $HTTP_POST_VARS["os"];
			$OSKEY1 = $HTTP_POST_VARS["oskey"];
     		$OFFICE1 = $HTTP_POST_VARS["office"];
			$OFFICEKEY1 = $HTTP_POST_VARS["officekey"];
      		$DATE1 = $HTTP_POST_VARS["date"];
			$INFO1 = $HTTP_POST_VARS["info"];
		
			echo("Es existiert bereits ein Datensatz mit dieser IP!"); 
		}
	


	else
		{
		$sql="insert into PC (NUTZER,KUERZEL,IP,HOSTNAME,OS,OSKEY,OFFICE,OFFICEKEY,PATCHDATUM,INFO) values ('$NUTZER', '$KURZ', '$IP', '$HOST', '$OS', '$OSKEY' ,'$OFFICE','$OFFICEKEY','$DATE','$INFO')";
		$result=mysql_query($sql);
		echo("Daten wurde an die Datenbank übergeben!");
		}

}
```

Kurze Erklärung dazu:
Also ich möchte bevor ich die Daten ,die in einem Formular eingegeben wurde, in die Datenbank eintrage, überprüfen ob die IP schon vergeben wurde wenn ja soll eine Fehlermeldung ausgegeben werden, das Funktioniert auch! Ich bekomme aber auch ein Warning, was schon begründet ist denn ich weise ja der $dbanfrage keinen Wert zu oder sagen wir so es existiert keiner. Da dieser Effekt aber gewollt ist möchte ich das Warning abfangen, so dass es nicht angezeigt wird hat da jemand eine Idee?
Danke schonmal im vorraus ich weiß ich kann auf euch zählen!


----------



## Andreas Dunstheimer (26. März 2004)

Für genau diesen Fall gibt es in PHP das @

dieses muss genau vor den entsprechenden Befehl gesetzt werden.

z.B.
$sql2 = @mysql_query ($dbanfrage); 


Dunsti


----------



## derZwerch (26. März 2004)

Super Danke!
Hatte mir fast gedacht das es nicht so schwer sein könnte!


----------



## JohannesR (26. März 2004)

Oder per 
	
	
	



```
error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
```


----------



## Andreas Dunstheimer (26. März 2004)

> _Original geschrieben von Johannes Röttger _
> *Oder per *
> 
> ```
> ...



das kenne ich noch garnicht, aber sieht nach einer "globalen" Methode aus, oder?


Dunsti


----------



## JohannesR (26. März 2004)

Nö, dann müsste man das mit ini_set machen. Damit kann man das error_reporting nur innerhalb des gesamten Scripts beeinflussen.


----------

