Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Problem Wert 0 [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem Wert 0


 
piti66
01-07-2005, 11:38 
 
Hallo,

ich arbeite gerade an einen script für eine Vereinshompepage! Hierbei habe ich dass Problem dass Werte Felder nicht leer lassen kann und keine 0 eintragen kann! Wenn ich aber eine doppel 0 eintrage funktioniert dass ganze! Ich möchte aber dass wenn nichts oder eine null eingetragen wird der Wert 0 angezeigt wird:

Hier dass Script:


<h4>Spielerstatistik Hinzufügen</h4>
<hr noshade="1">
<?

$datum=time();

if($HTTP_GET_VARS["action"] =="add") {
if(!$HTTP_GET_VARS["submit"]) {
?>
<form action="index.php" method="get">
<table width="100%">
<tr>
<td width="40%">Name:</td>
<td width="60%"><input type="text" name="name" maxlength="100"></td>
</tr>
<tr>
<td width="40%" valign="top">Spiele:</td>
<td width="60%"><input type="text" name="spiele" maxlength="50"></td>
</tr>
<tr>
<td width="40%" valign="top">Einwechslungen:</td>
<td width="60%"><input typ="text" name="einw" maxlenght="50"></td>
</tr>
<tr>
<td width="40%" valign="top">Auswechslungen:</td>
<td width="60%"><input typ="text" name="ausw" maxlenght="50"></td>
</tr>
<tr>
<td width="40%" valign="top">Gelbe Karten:</td>
<td width="60%"><input typ="text" name="gk" maxlenght="50"></td>
</tr>
<tr>
<td width="40%" valign="top">Gelb-Rote-Karten:</td>
<td width="60%"><input typ="text" name="grk" maxlenght="50"></td>
</tr>
<tr>
<td width="40%" valign="top">Rote Karten:</td>
<td width="60%"><input typ="text" name="rk" maxlenght="50"></td>
</tr>
<tr>
<td width="40%" valign="top">Tore:</td>
<td width="60%"><input typ="text" name="tore" maxlenght="50"></td>
</tr>
<tr>
<td width="100%" colspan="2"><input type="submit" name="submit" value="Daten
speichern">
<input type="Reset"></td>
</tr>
</table>
<input type="hidden" name="action" value="add">
</form>
<p></p>
<font class="wichtig">
Achtung bei Wert 0 muss 00 eingetragen werden.
</font>
<?
}
else {

if ($HTTP_GET_VARS["name"] and $HTTP_GET_VARS["spiele"] and
$HTTP_GET_VARS["einw"] and $HTTP_GET_VARS["ausw"] and
$HTTP_GET_VARS["gk"] and $HTTP_GET_VARS["grk"] and
$HTTP_GET_VARS["rk"] and $HTTP_GET_VARS["tore"]) {
include("../connect.php"); if (($HTTP_GET_VARS["spiele"])==0)
{$HTTP_GET_VARS["spiele"]=0;}
$query="insert into ma1liste (id,name,spiele,einw,ausw,gk,grk,rk,tore,datum) values
('','".$HTTP_GET_VARS["name"]."',
'".$HTTP_GET_VARS["spiele"]."',
'".$HTTP_GET_VARS["einw"]."',
'".$HTTP_GET_VARS["ausw"]."',
'".$HTTP_GET_VARS["gk"]."',
'".$HTTP_GET_VARS["grk"]."',
'".$HTTP_GET_VARS["rk"]."',
'".$HTTP_GET_VARS["tore"]."',
'".$datum."');";
$abfrage=mysql_query($query);
if($abfrage) { echo "&Auml;nderungen wurden &uuml;bernommen.";
}
else { echo "&Auml;nderungen konnten nicht &uuml;bernommen
werden."; }
}
else {
echo "Sie lie&szlig;en Felder unausgef&uuml;llt.<br>
<a href=\"javascript:history.back()\">Zur&uuml;ck</a>";
}
}
}
else {
echo "<a href=\"index.php\">Hier geht's weiter !!</a>";
}
?>


Die Sql Tabelle:

CREATE TABLE `ma1liste` (
`id` INT(11) not null auto_increment,
`name`TEXT ,
`spiele` int(11) ,
`einw` int(11) ,
`ausw` int(11) ,
`gk` int(11) ,
`grk` int(11) ,
`rk` int(11) ,
`tore` int(11) ,
`datum` int(11) ,
PRIMARY key(id))

Wie kann ich dass Problem lössen ohne immer 2 nullen einzutippen?

Mfg

Sebastian

 
TobiaZ
01-07-2005, 11:48 
 
Hallo,

bitte ERST lesen und befolgen!
http://www.php-resource.de/forum/showthread.php?s=&threadid=50454

 
piti66
01-07-2005, 12:30 
 
Hoffe es ist jetzt besser!

 
TobiaZ
01-07-2005, 12:40 
 
Hmm, wer ist "Werte"?Hierbei habe ich dass Problem dass Werte Felder nicht leer lassen kann

Vielleicht eine etwas unglückliche formulierung des ganzen. Jedoch sehe ich nicht WO dein Problem ist.

0 steht übrigens gleichzeitig für false. Somit wurd deine if-Bedingung negativ = nicht erfüllt.

BTW: Warum sendest du das Formular per GET und nicht per POST?

 
piti66
01-07-2005, 13:02 
 
Bin noch blutiger anfänger und dachte es geht so!
Mein Problem ist dass ich in der Eingabeoberfläche nicht immer 00 eintippen will damit er eine null in der Liste anzeigt!
Ich weiß nicht warum er dass nicht macht!
Mfg

 
penizillin
01-07-2005, 13:09 
 
1. statt $HTTP_GET_VARS nimmst du besser $_GET
2. deine frage wurde doch bereits beantwortet: wenn du eine null eingibst, enthält $_GET['tore'] den wert '0' bzw. (dank der automatischen typenkonvertierung) 0. und das ist das gleiche wie false.

nun prüfst du if($_GET['tore']). das ist das gleiche, wie if($_GET['tore']==true)


wenn du immer noch nicht verstehst, was du machst, dann erkläre mal bitte kurz in worten, was die lange if-abfrage für die anwendung bedeutet.

 
TobiaZ
01-07-2005, 13:23 
 
Schön! Endlich mal wieder ein User, der es konsequent schafft mich zu ignorieren... :rolleyes:

 
piti66
01-07-2005, 13:43 
 
Verstehe dass nur nicht was ihr mir sagen wollt! Wahrscheinlich bin ich zu blöd! $_Get geht natürlich auch, habe es sofort geändert!
Hab gerade gesehen, dass ich auch nochwas anderes drin hab was da garnicht sein soll!-->


if (($HTTP_GET_VARS["spiele"])==0)
{$HTTP_GET_VARS["spiele"]=0;}


Dass also weg!

Was muss ich also genau wo hin machen, damit ich keine doppelnull hinmachen muss?
Bitte helft mir!
:confused:

Mfg

 
penizillin
01-07-2005, 13:47 
 
verändere die if-abfrage so, dass du alle felder nicht nach deren true/false bestand kontrollierst, sondern nach deren inhalt.

 
piti66
01-07-2005, 13:59 
 
Könnt ihr mir nicht einfach sagen wie ich es genau verändern muss!
Bitte!

Stehe auf dem Schlauch!

Mfg

 
penizillin
01-07-2005, 14:08 
 
auf code-gegammel steht die todesstrafe aus. wenn du mit den antworten nichts anfangen kannst, versuchs erst mal mit den grundlagen:
www.php.net (!)
www.schattenbaum.net
www.php-faq.de
http://tut.php-q.net

viel spaß beim lernen!

 
piti66
01-07-2005, 14:18 
 
Danke für eure Hilfe!
Hättet mir doch einfach mal den befehl schicken können und sagen können wo er hinkommt!

Mfg

 
piti66
01-07-2005, 14:54 
 
Wie kann ich eine Eingabe überprüfen (bevor sie in datenbank eingetragen wird) ob ein wert eingetragen ist und wenn nichts drine steht soll eine null gestetzt und später ausgegeben werden!
Mfg

Sebastian

 
eintrachtemil
01-07-2005, 15:00 
 
http://de2.php.net/manual/de/function.empty.php

 
TobiaZ
01-07-2005, 15:15 
 
Hättet mir doch einfach mal den befehl schicken können und sagen können wo er hinkommt! Klar, hättest du uns vorher einen üblichen Stundenloh auf unser Konto überwiesen... :rolleyes: manmanman...

@eintrachtemil:
Diese Funktion liefert TRUE, wenn eine Variable nicht definiert, leer oder gleich 0 ist, ansonsten FALSE ;)

 
chansel0049
01-07-2005, 15:16 
 
auf code-gegammel steht die todesstrafe aus. wenn du mit den antworten nichts anfangen kannst, versuchs erst mal mit den grundlagen:
www.php.net (!)
www.schattenbaum.net
www.php-faq.de
http://tut.php-q.net

Ich würde eher sagen da fehlen die Grundlagen der Programmierung! Wieso denkt eigentlich jeder man kann alles selbst machen?

 
piti66
01-07-2005, 15:24 
 
Tobiaz man kann ja auch freundlich sein oder?
Vielleicht brauchst du mal Hilfe von mir in anderen Sachen und da sag ich bestimmt nicht sowas!
Egal!
Danke an alle die, die mir helfen wollten!

Mfg

sebastian

 
TobiaZ
01-07-2005, 15:31 
 
War ich unfreundlich? Nur weil du nicht auf Anhieb programmieren kannst, heißt das wohl nicht, dass wir dir hier deinen Code schreiben müssen, oder?

Das würde ich von dir sicher nicht verlangen.

 
piti66
01-07-2005, 15:36 
 
ihr sollt doch nichts schreiben (nur eine kleine hilfe, weil ich wahrscheinlich zu blöd bin!!!), nur manche dinge versteht man halt nicht so wie andere! Dem einen dass dem anderem dass andere!
Mfg

sebastian

 
TobiaZ
01-07-2005, 15:41 
 
Original geschrieben von penizillin
wenn du immer noch nicht verstehst, was du machst, dann erkläre mal bitte kurz in worten, was die lange if-abfrage für die anwendung bedeutet.

 
eintrachtemil
01-07-2005, 16:03 
 
@TobiaZ:
Diese Funktion liefert TRUE, wenn eine Variable nicht definiert, leer oder gleich 0 ist, ansonsten FALSE
piti66 schrieb
...ob ein wert eingetragen ist und wenn nichts drine steht soll eine null gestetzt und später ausgegeben werden!
Und dafür dürfte die empty()-Funktion doch passen. Steht nichts in der Variable, oder ist sie nicht definiert oder gleich 0 - dann kann er eine 0 setzen, ansonsten halt den Wert der Variablen...

 
TobiaZ
01-07-2005, 16:12 
 
kk! Hasse recht! :D
Hatte die ganze Zeit seine if() im Kopf ;)

 
eintrachtemil
01-07-2005, 16:14 
 
Jawohl! Jetzt kann ich Feierabend machen...:)

 
piti66
01-07-2005, 16:17 
 
AHA
Wie müßte dass dem im Beispiel aussehen! Bitte mal ganz kurz!
So?

if (empty($var))
{
$var = 0;
}

mfg

 
TobiaZ
01-07-2005, 16:43 
 
Probier doch mal selber aus! Dann wirstes schon merken..

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:23 Uhr.