SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 17.05.2002, 17:44:09
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
mit if() eine variable prüfen und ausgabe machen

hi,

ich hab mir folgende funktion geschrieben:

PHP-Code:
<?
function out()
{
    global $var;
    if($a == "hallo")
    {
        $var = "hallo";
    }
    if($a == "tag")
    {
        $var = "tag";
    }
    if($a == "hi")
    {
        $var = "hi";
    }
}
?>
...und möchte dann $var, wenn es mittels formular gesendet wurde, mit echo ausgeben lassen.

PHP-Code:
<? 
include("func.php"); 
if(isset($sub)) 

    out(); 
    echo $_GET['var'];

else 

    echo "<form action="".$PHP_SELF."" method="post">

        <select name="a">

            <option value="hallo">Hallo</option>

            <option value="tag">Tag</option>

            <option value="hi">Hi</option>

        </select>

        <input type="submit" name="sub" value="los...">

    </form>"; 

?>
...ich habe es auch schon mit $_GET['var'] versucht und in der function habe ich die variable auch auf global gestezt, aber nichts geht, die variable bleibt immer leer. weiß wer rat?

thx schon mal.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #2  
Alt 17.05.2002, 18:47:28
Progman Progman ist offline
Member
 
Registriert seit: Apr 2002
Beiträge: 821
Progman eine Nachricht über ICQ schicken
ist klar ;)

Wenn du die Daten mit method=Post sendest dann sind die Daten in $_POST und nicht in $_GET ;)
Mit Zitat antworten
  #3  
Alt 17.05.2002, 19:44:59
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
hmm,

upsss, ist wohl eine anfangerfalle :-)
aber jetzt weiß ich es ja.

thx Progman
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #4  
Alt 17.05.2002, 20:47:51
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
hmm,

ich könnte mich in den hintern beißen, das geht immer noch nicht...

ich habe das formular mit method="post" versendet und wollte die variable mit $_POST['var'] auslesen, geht nicht :-(
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #5  
Alt 17.05.2002, 21:30:59
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
Hi @ll

Erst mal zu dem Fehler in dem Script:

in der Funktion ist die Variable a nicht globaldefiniert.
Deswegen ist sie leer.

Alle Variablen die in einer Funktion von aussen kommen , müssen als global-definiert werden.

nun noch was dazu.

Das Script funkt zwar, aber geschrieben ist es schlecht.
Nachteile:
es werden 2 globale Variablen definiert, die nicht nötig sind.
die If-abfragen sind unnötig, dauert zulange, wenn noch einige Werte abgefragt werden.

So wäre es schöner:
PHP-Code:
<?
function out($out = "")
{
    switch ($out)
    {
        case "hallo":
        return "hallo";
        break;
        case "tag":
        return "tag";
        break;
        case "hi":
        return "hi";
        break;
    default:
            return;
            break;
    }
}

//include("func.php"); 
if($sub) 

    echo out($a); 

else 
{
    echo "<form action='".$PHP_SELF."' method='post'>
";
        echo "<select name='a'>
";
            echo "<option value='hallo'>Hallo</option>
";
            echo "<option value='tag'>Tag</option>
";
            echo "<option value='hi'>Hi</option>
";
        echo "</select>
";
        echo "<input type='submit' name='sub' value='los...'>
";
    echo "</form>";

?>

Noch was:
if ($sub) bingt genau das selbe wie if (isset($sub))

Warum schreibt ihr immer " ??
Jeder Browser erkennt auch ', ist schneller ;-)
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #6  
Alt 17.05.2002, 21:49:33
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
@ Nev,

ich schreibe meinen quellcode so, weil ich meine seiten auf XHTML umstelle/umgestellt habe,da ja, html mit version 4.1 in rente geschickt wurde.

das heißt es wird kein html 5.0 mehr geben :-(

in XHTML müssen alle werte in anführungszeichen (") stehen.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #7  
Alt 17.05.2002, 22:23:15
Progman Progman ist offline
Member
 
Registriert seit: Apr 2002
Beiträge: 821
Progman eine Nachricht über ICQ schicken
if($var) ist nicht das selbe wie if(isset($var)). if($var) ist gültig wenn $var nicht 0 oder ein String länger 0 ist.
if(isset($var)) ist wahr, wenn die Variable $var definiert ist. Dies ist wichtig wenn man mit error_reporting(E_ALL); arbeitet

ps.: ist echo $a; nicht einfacher als echo out($a); ?
Mit Zitat antworten
  #8  
Alt 17.05.2002, 22:33:33
Benutzerbild von Nev
Nev Nev ist offline
Member
 
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
@Progman

in diesem Beispiel wäre es egal ob du isset verwendest.

Aber ansonsten gebe ich dir recht.

zu dem echo:

es ist besser mit echo out($a); zu machen;

So sparst du dir eine [/b]globale-Variable[/b]

wenn du den Wert weiter verwenden willst kannst du es natürlcih auch so machen:
PHP-Code:
  $a out($a);
  echo 
$a
Aber generell sollte man so wenig globale Variable wie möglich verwenden.

ersten wird es unsicher
zweitens kann es zu ungewollten Manipulationen der Variablen inerhalb des Scripts kommen
__________________
Cu
Nev the XxX (Sven-Marcus Maderbacher)

Master of www.Burnworld.de
www.Nev-hilft.de die Seite für den Coder
Mit Zitat antworten
  #9  
Alt 17.05.2002, 22:33:43
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
@ Progman,

einfacher? in wie fern einfacher?
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #10  
Alt 18.05.2002, 13:34:43
Progman Progman ist offline
Member
 
Registriert seit: Apr 2002
Beiträge: 821
Progman eine Nachricht über ICQ schicken
Die funktionen Liefern den übergebenen Parameter zurück, was soll das denn bringen? Da brauche ich doch keine Funktion, da gebe ich die Var einfach aus.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:49:50 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt