php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Thema geschlossen
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.08.2011, 01:28  
Neuer Benutzer
 
Registriert seit: 04.08.2011
Beiträge: 5
PHP-Kenntnisse:
Anfänger
GigantPro befindet sich auf einem aufstrebenden Ast
Standard Wer hat freude mir bei einem kleinen code zu helfen? *BITTE*

Hallo Freunde
ich bin neu hier, habe mich hier angemeldet da ich Hife brauch, und hoffe der ein oder andere hat Freude dran, mir mit seinem wissen weiter zu helfen.

Ich benötige für meine Firma in der ich Arbeite eine kleine seite, für unser Intranet

Folgendes system, bestehen aus 2 funktionen

1.

Es soll möglich sein einen Mitarbeiternamen in ein Forumular einzugeben und eine abfrage zu machen.
Ist der Mitarbeitername in der Datenbank, wird die dazugehörige emailadresse angezeigt, ansonsten folgt eine meldung das es hierzu noch keinen eintrag gibt

2. Man soll die möglichkeit Mitarbeiternamen und die dazugehörige email adresse einzutragen

Man gibt ein: "mitarbeitername" und "email adresse"
sofern der mitarbeitername noch nicht im system ist, wird eine email mit einem bestätungslink an diese email adresse gesendet (wie bei der registrierung in diesem forum)
nach klick auf den bestätigungslink ist der mitarbeitername und email adresse in der datenbank



für den ein oder anderen sicherlich eine leichtigkeit, ich selbst hatte früher sowas im schlaf gemacht, allerdings als ich das letze mal php programmiert habe, hatte man noch MS frontpage auf dem rechner...
Ich bin einfach zu sehr raus.. mit sicherheit, aber wieder schnell drinne.


Könnte mir jemand helfen!?
Mir würde das in der Firma wirklich sehr viel bringen.
Lieben dank.
GigantPro ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.08.2011, 01:30  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Bitte Forenstruktur beachten!

[MOD: verschoben]
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 04.08.2011, 10:34  
Neuer Benutzer
 
Registriert seit: 04.08.2011
Beiträge: 13
PHP-Kenntnisse:
Anfänger
Napali befindet sich auf einem aufstrebenden Ast
Standard

Also ganz ehrlich?
Das ist doch unterste Schublade und sollte mit ein wenig Recherche zu PHP-SQL Verbindung kein Problem darstellen.
Was das senden der E-Mail angeht, gibt es die mail() Funktion
Bsp:
PHP-Code:
<?php
$empfaenger 
"emailempf@provider.de"//Mailadresse
$absender   "emailabs@provider.de";
$betreff    "Betreff";
$mailtext   "Text";
$antwortan  "noreply@provider.de";

mail$empfaenger,
      
$betreff,
      
$mailtext,
      
"From: $absender\nReply-To: $antwortan");

echo 
"Mail wurde gesendet!";
?>
Napali ist offline  
Alt 04.08.2011, 10:41  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Zitat:
Zitat von Napali Beitrag anzeigen
mail()
Ähem... (13: Die 3 E-Postel und die Freuden des Briefverkehrs)
fab ist offline  
Alt 04.08.2011, 10:59  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.143
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Zitat:
Zitat von Napali Beitrag anzeigen
... gibt es die mail() Funktion ...
<ironie>
Genau und dann kannst Du auch nach paar Tagen wieder kommen weil die Hälfte der Mails nicht ankommen und bei den anderen die Umlaute falsch sind.. etc..
</ironie>

Bitte MailerKlasse (zB PHPMailer etc.. ) verwenden!

LG
__________________
Keine Zahl != ein Zeichen das keine Zahl ist

Geändert von hausl (04.08.2011 um 11:12 Uhr).
hausl ist offline  
Alt 04.08.2011, 11:07  
Neuer Benutzer
 
Registriert seit: 04.08.2011
Beiträge: 5
PHP-Kenntnisse:
Anfänger
GigantPro befindet sich auf einem aufstrebenden Ast
Standard

Hallo
mailfunktion ist mir noch geläufig
danke

aber das ist ja das kleinste problem
sei so gut und lese nochmal genau, ich hab auch keine ahnung wie man dieses script zur überprüfung der email adresse baut ect...
GigantPro ist offline  
Alt 04.08.2011, 13:14  
Neuer Benutzer
 
Registriert seit: 04.08.2011
Beiträge: 13
PHP-Kenntnisse:
Anfänger
Napali befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von hausl Beitrag anzeigen
Bitte MailerKlasse (zB PHPMailer etc.. ) verwenden!
Gut, dann eben sowas. Ich arbeite für gewöhnlich nicht mit E-Mails xD


Gott ich hatte Langeweile

Das sollte jetzt das sein, was du haben wolltest (alles nicht gestestet)

PHP-Code:
<?php
// login.php
// Zum Prüfen ob der Mitarbeiter in der Datenbank ist
?>

<?php
if($_POST['submit']){
    
$verbindung mysql_connect("localhost""SQL-NAME" "SQL-PASSWORT") or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
    
mysql_select_db("SQL-DB") or die ("Datenbank konnte nicht ausgewählt werden");

    
$name $_POST["name"];

    
$abfrage "SELECT * FROM mitarbeiter WHERE name LIKE '$name' LIMIT 1";
    
$ergebnis mysql_query($abfrage);
    
$row mysql_fetch_object($ergebnis);
    
$num mysql_num_rows($query);

    if(
$num){
        echo 
"Name: ".$row->name;
        echo 
"<br>E-Mail: ".$row->email;
    } else {
        echo 
"Kein Eintrag in der Datenbank.";
    }
}
?>

<form action="login.php" method="post">
Name:<br>
<input type="text" size="24" maxlength="50"
name="name"><br>
<input type="submit" name="submit" value="TextaufButton">
</form>
PHP-Code:
<?php
// register.php
// Zum Eintragen in die Datenbank
?>

<?php
include "function.php";

if(
$_POST['submit']){
    
$name $_POST["name"];
    
$email $_POST["email"];
    
$valid validateEmailAddress($email);

    if(
$valid){
        
$verbindung mysql_connect("localhost""SQL-NAME" "SQL-PASSWORT") or die("Verbindung zur Datenbank konnte nicht hergestellt werden"); 
        
mysql_select_db("SQL-DB") or die ("Datenbank konnte nicht ausgewählt werden"); 

        
$key random(20); //Zufälliger String (20 Zeichen);

        
$abfrage mysql_query("INSERT INTO mitarbeiter(ID, name, email, activated, key) VALUES (NULL, '".$name."', '".$email."', 0, $key)") or die(mysql_error());
        echo 
"Erfolgreich registriert.<br>Du bekommst eine E-Mail mit Aktivierungslink.";

        
// Hier jetzt nur noch die E-Mail mit dem $key und der ID schicken.
        // Das geht mit einer ausgelagerten Datei (mail.php) oder direkt hier.
        // Ich kenn mich mit dem wie gesagt nicht aus
        
include "mail.php";
    } else {
        echo 
"Keine gültige E-Mail.";
    }
}
?>

<form action="register.php" method="post">
Name:<br>
<input type="text" size="24" maxlength="50"
name="name"><br>
E-Mail:<br>
<input type="text" size="24" maxlength="50"
name="email"><br>
<input type="submit" name="submit" value="TextaufButton">
</form>
PHP-Code:
<?php
// function.php
// Zum ablegen von Funktionen
?>
<?php 
function random($name_laenge) {
$zeichen "abcedfghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRTSUVWXYZ0123456789";
$name_neu "";

mt_srand ((double) microtime() * 1000000);
for (
$i 0$i $name_laenge$i++) {
$name_neu .= $zeichen{mt_rand (0,strlen($zeichen))};
}
return 
$name_neu;
}
?>

<?php
/**
 * PeterPresssack
 * Validates an email-address.
 * The function changes the parameter by cutting of leading and following whitespaces and setting it to lower case.
 * 
 * @param Reference to a string holding an email-address.
 * @param Boolean (default false) telling wether the validation should be strict or not.
 *        Strict validation does not allow special characters (like umlauts) in the email-address.
 * @returm Boolean which is true if parameter is a valid email-address, false otherwise.
 */
function validateEmailAddress(&$address_to_validate$strict false) {
    
//Leading and following whitespaces are ignored
    
$address_to_validate trim($address_to_validate);
    
//Email-address is set to lower case
    
$address_to_validate strtolower($address_to_validate);
    
    
//List of signs which are illegal in name, subdomain and domain
    
$illegal_string '\\\\(\\n)@';
    
    
//Parts of the regular expression = name@subdomain.domain.toplevel
    
$name      '([^\\.'.$illegal_string.'][^'.$illegal_string.']?)+';
    
$subdomain '([^\\._'.$illegal_string.']+\\.)?';
    
$domain    '[^\\.\\-_'.$illegal_string.'][^\\._'.$illegal_string.']*[^\\.\\-_'.$illegal_string.']';
    
$toplevel  '([a-z]{2,4}|museum|travel)';    //.museum and .travel are the only TLDs longer than four signs

    
$regular_expression '/^'.$name.'[@]'.$subdomain.$domain.'\.'.$toplevel.'$/';
    
    return 
preg_match($regular_expression$address_to_validate) ? true false;
}  
?>
Das sollte es so im groben sein xD
Fehlt jetzt nur noch das validieren der E-Mail, mit einem Link wie:
.../check.php?id=1&key=fbhuoid82304ZIKGI
(fbhuoid82304ZIKGI ist der Schlüssel ($key) in der Datenbank)
(id ist eben die ID in der Datenbank)

In check.php wird dann einfach eine UPDATE Abfrage gemacht (vorher natürlcih prüfen ob die ID und der key in der Datenbank sind):
UPDATE mitarbeiter SET activated=1 WHERE key=$_GET['key'] AND ID=$_GET['id']
Napali ist offline  
Alt 04.08.2011, 14:44  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.169
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
sei so gut und lese nochmal genau
Mannomann.. Sei DU so gut und schau Dir die allertiefsten Grundlagen von PHP an, dann kriegst Du das auch selber hin... Nicht mal eine Stunde selber investieren wollen...

Und dann finden sich immer wieder welche, die es trotzdem machen...
xm22 ist offline  
Alt 04.08.2011, 14:51  
Erfahrener Benutzer
 
Benutzerbild von splasch
 
Registriert seit: 05.01.2009
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
splasch kann nur auf Besserung hoffen
Standard

Für mich hört sich das eher danach an als sollen wir deine Arbeit in der Firma für dich erledigen.

Damit du nacher prallen kannst und unverzichtbar für deine Firma bist mit deinen Qualifikationen.

Mfg.
splasch ist offline  
Alt 04.08.2011, 15:15  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ich habs in die Scriptbörse geschoben, seid doch so gut und lasst solche Kommentare. Soll er halt warten auf irgend jemand Gnädigen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Thema geschlossen


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Lizenzen/Copyright am Code d0ne Off-Topic Diskussionen 8 31.08.2010 12:50
Probleme mit PHP Code HappyDieMuschel PHP Tipps 2008 7 28.05.2008 06:34
[Erledigt] PHP Code aus Datenbank ayti PHP Tipps 2008 8 26.05.2008 19:40
Design und Code Trennen TeazY PHP Tipps 2008 29 21.05.2008 12:08
Nur bestimmten Html Code zulassen? litterauspirna PHP Tipps 2008 5 29.04.2008 12:30
einfacher Code zum Einbinden von "Inhaltsbereichen" MaxDittmann PHP-Fortgeschrittene 6 01.10.2007 15:54
PHP: Wie parst der Server den Code am schnellsten? SvenLittkowski PHP Tipps 2007 4 17.12.2005 10:58
bb code in htm code wandeln janni PHP Tipps 2007 2 04.11.2005 22:36
[Erledigt] JS Code in PHP Code?? HTML, Usability und Barrierefreiheit 12 08.08.2005 15:45
[Erledigt] Lesbarkeit von Code Off-Topic Diskussionen 6 14.07.2005 14:48
code aus db mit eval replacen chief-thomson PHP Tipps 2005-2 4 08.07.2005 15:33
Benutzereingaben von Formular prüfen (Sicherer Code?) PHP Tipps 2005 6 27.01.2005 10:16
code verstecken Skazi PHP Tipps 2005 4 19.01.2005 13:51
[Erledigt] bb code innerhalb von bb code geht nicht PHP Tipps 2007 2 12.01.2005 17:29
Problem mit COde PHP Tipps 2004 5 28.08.2004 16:04


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum